在R中,我有2个数据帧“df1”和“df2” . df1和df2如下 .
>df1
date value
1 1990-10-10 3
2 1990-10-11 2.3
3 1990-10-12 2.5
>df2
date value
1 1990-10-10 3
2 1990-10-11 2
3 1990-10-12 2
我需要第三个数据框“df3”,它包含与df1和df2相同的列名 . 但是值字段应该是df1和df2中值的乘积 . 我期待以下输出
>df3
date value
1 1990-10-10 9
2 1990-10-11 4.6
3 1990-10-12 4
R有可能吗?
4 回答
如果所有日期都相同,那么您可以简单地使用:
如果日期在两个
data.frames
中不相同,请使用下面的@MatthewLundberg
回答"Merge"与
rbind
的漫长道路,并使用aggregate
生产环境 产品:如果数据框的
value
列的模式为factor
,则必须转换为character
然后转换为numeric
以提取值:您也可以使用
as.numeric(levels(value))[value]
进行转换 . 有关详细信息,请参见?factor
.也许你可以先
data.frame
然后继续transform
:这里,由于两个
data.frame
具有相同的列名,我已经指定我们只想通过"date"变量进行合并,以便"temp"data.frame
中存在两个"value"变量 .在你解决了df1和df2的问题之后你会在尝试这个之前尝试使用类型因素的“值”,你可以做到这一点:
R-FAQ中包含了应该是数字因子的转换:FAQ 7.10