簡體   English   中英

在R中:如何獲取CSV文件的列名作為列表和值作為列表的列表

[英]In R: How do I get the column names of a CSV file as a list and values as a list of lists

所以我從csv文件中得到一個數據框,如下所示:

dataFrame = read.csv(fileName, header = TRUE)

我正在嘗試使用以下方法獲取列名(第一行)

columnNames = colnames(dataFrame)

我需要在數據列表中的列表中獲取數據框中的值,其中每個子列表都是沒有任何標題的值列表。

例如

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)
}

但我一直在獲取每個列名稱以及每個條目。

考慮到上面關於想要行的評論,我認為這就是您要嘗試做的事情:

unname(lapply(split(mtcars,1:nrow(mtcars)),function(x) {unname(as.list(x))}))

這將使用內置數據集mtcars

假設您的數據框僅包含相同類型的列,例如僅包含數字,則可以首先強制轉換為矩陣,然后將列名(如果有行名,則設置為行名)為NULL。 這是使用內置mtcars數據框的示例:

foo <- mtcars
foo <- as.matrix(foo)
rownames(foo) <- NULL
colnames(foo) <- NULL

然后,您可以使用類似於您編寫的循環,或使用lapply在更“慣用的” R中轉換為列表:

foo <- lapply(seq_len(ncol(foo)), function(col) foo[,col])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM