【发布时间】:2017-08-31 14:27:00
【问题描述】:
我有一个列名重复的数据框。
df<-data.frame(matrix(ncol = 8, nrow = 0))
df<-rbind(df,c(1:8))
colnames(df) <- c("c1","c2","c3","c4","c1","c2","c5","c6")
> df
c1 c2 c3 c4 c1 c2 c5 c6
1 1 2 3 4 5 6 7 8
如可见,列 c1 和 c2 重复两次。但我只能在调用数据框时访问第一个出现的列。
> df$c1
[1] 1
> df$c2
[1] 2
> df[,"c1"]
[1] 1
> df[,"c2"]
[1] 2
我如何访问所有值,即。 c1: 1, c1:5 打电话给某种df[,"c1"] ?
注意:数据框有重复列名的原因是嵌套列表转换为数据框
【问题讨论】:
-
您不想更改列名有什么特别的原因吗?如果没有,那可能是最直接的解决方案。
-
也许你需要使用列的索引位置。
df[1]和df[5]. -
df[names(df) %in% 'c1'] -
@Z.Lin,其背后的原因是动态的,实际数据包含
vision-api result,属性为categories.detail.celebrities.name。对于通过的每个不同图像,它会生成不同的 名人 名称(null 或 3-4 等)。我正在传递多张图像并为所有人收集结果。 -
谢谢@Sotos,我一直在努力。解决方案有效:)
标签: r