r - 将列表元素添加为数据框的列
问题描述
我想知道是否有可能将列表元素添加为数据框的列。
例如,我定义了一个列表
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()'或直接寻址数据框,但这似乎不起作用。有人可以帮我吗?
解决方案
你可以这样做:
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
请注意,以数字开头的列名不是一个好习惯。
推荐阅读
- java - 如何在 Android Studio、java 上提高 Android Proximity Sensor 灵敏度级别?
- javascript - Konva - 线不接触圆 - 圆与线之间的间隙
- sql - 试图写一个内连接来过滤掉一些条件
- r - Stringer str_replace 无法使用 UTF
- python - 调用 tf.session.run 变慢
- c - 循环遍历 fread 语句
- android - 异常膨胀导航图
- reactjs - 为什么我在使用 websocket 时在 useEffect 中有无限循环?
- redis - 关于在 LPush 中输入密钥
- bin - 识别旧的dos系统文件类型并将其解码为文本文件