繁体   English   中英

R-如何将数据框的列添加为另一个数据框的列?

[英]R - How to add column of data frame as column of another data frame?

我有2个数据框,尺寸如下:

dim (df1)
[1] 1418    1

dim (df2)
[1] 1418    1

因此,每个DF中只有1列,并且行数相同。 我想将第二个数据帧添加到第一个数据帧,以使我有1418行和2列的暗淡。

我这样做:

df1[,2] = df2[,1] # and this:
dfnew = merge (df1, df2)

但它不起作用。 知道怎么做吗?

merge功能要求您要合并的data.frame之间有一个共享列。 在您的情况下,每列只有一列,就不可能是这种情况。

就像@Lyngbakr在评论中指出的那样,您想使用cbind它将字面地将两者连接在一起。 例如, dfnew = cbind(df1,df2)

cbind可以处理矢量, data.framedata.frame类的对象以及矩阵。

df1$addl_col<-df2$col

只要长度相同(nrow(df1)== nrow(df2)暗示)

您还可以使用dplyr,它具有性能和链接优势(并避免了某些冗余语法)。 两种选择:

df<-mutate(df,addl_col=df2$'col')
df<-df%>%mutate(addl_col=df2$'col')

尽管这对于dplyr来说有点不合常规,但从引号的必要性可以看出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM