r - R数据框插入基于其他数据框的值
问题描述
我有2个数据框如下:
df1
name date value df2_row df2_col
a 31-01-2019 1 1 1
b 31-01-2019 3 2 1
c 31-03-2019 5 3 3
d 31-03-2019 6 4 3
df2
name 31-01-2019 28-02-2019 31-03-2019
a
b
c
d
我想收到这样的df2:
df2
name 31-01-2019 28-02-2019 31-03-2019
a 1 NA NA
b 3 NA NA
c NA NA 5
d NA NA 6
有任何想法吗?
解决方案
看起来name
和date
indf1
与最终输出无关。假设您在列name
之前有一列 ( ) NA
,cbind
df2_row
并df2_col
分配value
给它们。
df2[cbind(df1$df2_row, df1$df2_col)] <- df1$value
# 31-01-2019 28-02-2019 31-03-2019
#1 1 NA NA
#2 3 NA NA
#3 NA NA 5
#4 NA NA 6
数据
假设你df2
是这样的
df2 <- cbind(name = c("a", "b", "c", "d"),
setNames(data.frame(matrix(NA, ncol = 3, nrow = 4)),
c("31-01-2019","28-02-2019","31-03-2019")))
df2
# name 31-01-2019 28-02-2019 31-03-2019
#1 a NA NA NA
#2 b NA NA NA
#3 c NA NA NA
#4 d NA NA NA
推荐阅读
- arrays - 如何查找由拆分函数创建的数组的长度
- php - 如何为 Wordpress 安装 GD 图像库?
- python - Pickle 文件内存错误 - kelpto questoin
- python - 如何在python中创建多个属性装饰器
- java - 在没有 JNLP 的情况下启动 Windows Jenkins 代理
- php - 'Symfony\Component\HttpFoundation\File\File' 的序列化是不允许的,Symfony4?
- php - 你如何使用来自 YoSymfony 的 ResourceWatcher 包?
- python - 在 Eclipse/PyDev 中运行行为
- wordpress - 谷歌是否索引私人 WordPress 页面?
- angular - 将 Angular 4 更新到最新的 Angular 会影响我们的模块和东西吗?