所以我从我的csv文件中得到一个数据帧:
dataFrame = read.csv(fileName, header = TRUE)
我试图使用
获取列名(第一行)columnNames = colnames(dataFrame)
我需要在列表列表中获取数据框中的值,其中每个子列表都是没有任何标题的值列表。
e.g。
Values: [
[
"0",
"0",
"value",
"value",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0"
],
[
"0",
"0",
"value",
"value",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0",
"0"
]
]
有没有办法做到这一点?
我试过这个
for(i in 1:nrow(dataFrame)) {
temp = list(dataFrame[i])
values <- c(values, temp)
}
但我会随每个条目一起获取每个列名称。
答案 0 :(得分:1)
我认为这是你正在尝试做的事情,鉴于你上面关于想要行的评论:
unname(lapply(split(mtcars,1:nrow(mtcars)),function(x) {unname(as.list(x))}))
这使用内置数据集mtcars
。
答案 1 :(得分:-1)
假设您的数据框仅包含相同类型的列,例如只有数字,你可以先强制转换为矩阵,然后将列名(和行名称,如果有的话)设置为NULL。以下是使用内置mtcars数据帧的示例:
foo <- mtcars
foo <- as.matrix(foo)
rownames(foo) <- NULL
colnames(foo) <- NULL
然后,您可以使用类似于您所写的循环转换为列表,或者更多&#34;惯用&#34; R使用lapply:
foo <- lapply(seq_len(ncol(foo)), function(col) foo[,col])