在r中合并具有条件的数据集

在r中合并具有条件的数据集,r,R,我有一个如下所示的数据集: “X19”是另一个数据集的行号。如何合并这两个数据集,以便将“fnum”添加到“X19”中出现的每一行 谢谢 尝试merge(df1,df2,by='X19'),其中df1和df2是您的两个数据帧。尝试merge(df1,df2,by='X19'),其中df1和df2是您的两个数据帧。这是一个合并,其中一个键是一个数据集的行名。您可以这样做: cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)]) 这

我有一个如下所示的数据集:

“X19”是另一个数据集的行号。如何合并这两个数据集,以便将“fnum”添加到“X19”中出现的每一行


谢谢

尝试
merge(df1,df2,by='X19')
,其中df1和df2是您的两个数据帧。

尝试
merge(df1,df2,by='X19')
,其中df1和df2是您的两个数据帧。

这是一个合并,其中一个键是一个数据集的
行名。您可以这样做:

 cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)])
这是一个可复制的例子

df1 <- data.frame(ID=c(1L,1L,1L,1L,2L,2L,3L,3L), 
                 var=c(1:8), Smoke=c('No','No','Yes','No','No','No','Yes','No'))

df2 <- data.frame(X19=c(2,5,8), FNUMM=c('a','b','c'))

cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)])

df1这是一个合并,其中一个键是一个数据集的
行名。您可以这样做:

 cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)])
这是一个可复制的例子

df1 <- data.frame(ID=c(1L,1L,1L,1L,2L,2L,3L,3L), 
                 var=c(1:8), Smoke=c('No','No','Yes','No','No','No','Yes','No'))

df2 <- data.frame(X19=c(2,5,8), FNUMM=c('a','b','c'))

cbind(df1, df2[, "FNUMM"][match(rownames(df1), df2$X19)])

df1它说“fix.by(by.x,x)中的错误:'by'必须指定唯一有效的列”。我想这是因为df1和df2的行数不一样。或者你能告诉我,我是否可以操纵df,使其行数与另一个df的行数相同吗?有点难说,因为我无法复制数据或至少部分数据来查看发生了什么。它说“修复中的错误(by.x,x):“by”必须指定唯一有效的列。我想这是因为df1和df2的行数不一样。或者你能告诉我,我是否可以操作df,减少行数,使它的行数与其他df的行数一样多?有点难说,因为我无法复制你的数据或至少部分数据来查看发生了什么。请不要发布数据的图像,而是一个数据帧的示例(例如,张贴
dput(head(DF,10))
)。请参阅..并可能发布这两个数据帧。在你的图片中,我只看到一个,老实说,我不明白你想实现什么…我真的不知道如何发布一个样本。。。我将发布另一个数据帧的图像。将
dput(head(df1,10))
dput(head(df2,10))
的输出粘贴到您的问题中。请不要发布数据的图像,而是发布数据帧的样本(例如,发布
dput(head(DF,10))的输出。
)。请参阅..并可能发布这两个数据帧。在你的图片中,我只看到一个,老实说,我不明白你想实现什么…我真的不知道如何发布一个样本。。。我将发布数据帧的另一个图像。将
dput(head(df1,10))
dput(head(df2,10))
的输出粘贴到您的问题中。