热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

R使用旧data.table中的单个列的指定行创建新的data.table

如何解决《R使用旧data.table中的单个列的指定行创建新的data.table》经验,为你挑选了1个好方法。

我有以下内容data.table:

    Month Day  Lat Long        Temperature
 1:    10  01 80.0  180 -6.383330333333309
 2:    10  01 77.5  180 -6.193327999999976
 3:    10  01 75.0  180 -6.263328333333312
 4:    10  01 72.5  180 -5.759997333333306
 5:    10  01 70.0  180 -4.838330999999976
---                                       
117020:    12  31 32.5  310 11.840003833333355
117021:    12  31 30.0  310 13.065001833333357
117022:    12  31 27.5  310 14.685003333333356
117023:    12  31 25.0  310 15.946669666666690
117024:    12  31 22.5  310 16.578336333333358

对于每个地点(由Lat和给出Long),我在10月1日至12月31日期间每天都有温度.

有1,272个地点,每个成对组合包括Lat:

    Lat
1   80.0
2   77.5
3   75.0
4   72.5
5   70.0
--------
21  30.0
22  27.5
23  25.0
24  22.5

并且Long:

Long
1   180.0
2   182.5
3   185.0
4   187.5
5   190.0
---------
49  300.0
50  302.5
51  305.0
52  307.5
53  310.0

我正在尝试创建一个data.table由1,272行(每个位置一个)和92列(每天一个)组成的行.data.table然后,其中的每个元素将包含当天该位置的温度.

关于如何在不使用for循环的情况下实现该目标的任何建议?



1> BrodieG..:

在这里我们使用ChickWeights数据,我们使用"Chick-Diet"作为"lat-lon"的等价物,"Time"作为"Date":

dcast.data.table(data.table(ChickWeight), Chick + Diet ~ Time)

生产:

     Chick Diet 0 2  4  6  8 10 12 14 16 18 20 21
 1:    18    1 1 1 NA NA NA NA NA NA NA NA NA NA
 2:    16    1 1 1  1  1  1  1  1 NA NA NA NA NA
 3:    15    1 1 1  1  1  1  1  1  1 NA NA NA NA
 4:    13    1 1 1  1  1  1  1  1  1  1  1  1  1
 5:   ... 46 rows omitted

lat + lon ~ Month + Day的公式可能需要或类似.

将来,请像我在这里使用内置数据集一样使您的问题重现.


推荐阅读
author-avatar
king
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有