首页 > 解决方案 > 将列表元素添加为数据框的列

问题描述

我想知道是否有可能将列表元素添加为数据框的列。

例如,我定义了一个列表

a <- c(1, 2, 3, 4, 5)

我想将它添加为我的数据框的列

df <- data.frame(matrix(ncol = 3, nrow = 2500))
x <- c("P", "B", "R")
colnames(df) <- x

我的数据框已经包含在 P、B 和 R 列中的值。

现在我想在每一行中添加我的列表 a 作为没有任何值的新列(或者它也可以是 0)。

最后,我的数据框应该有 P、B、R、1、2、3、4、5 列。

我正在考虑使用'cbind()'或直接寻址数据框,但这似乎不起作用。有人可以帮我吗?

标签: rlistdataframe

解决方案


你可以这样做:

df[as.character(a)] <- NA

> head(df)
   P  B  R  1  2  3  4  5
1 NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA

请注意,以数字开头的列名不是一个好习惯。


推荐阅读