我對 R 很陌生,但我正在嘗試創建一個資料框串列,然后在回圈中為它們提供所有相同的標題。計劃是用一堆雜亂的資料檔案中的資料填充列,然后將小資料框全部系結到單個資料框。但是,我堅持分配列名。我確實首先嘗試了 for 回圈,但看到其他答案說這是新手的做法。
這就是我現在所擁有的,但是當我運行它時,列不會更新:
a <- data.frame(matrix(ncol=5, nrow=1))
b <- data.frame(matrix(ncol=5, nrow=1))
c <- data.frame(matrix(ncol=5, nrow=1))
d <- data.frame(matrix(ncol=5, nrow=1))
List <- list(a, b, c, d)
headers <- c("First Name","Last Name","Date","Zip Code", "blah")
lapply(List, setNames, nm = headers)
我想我遺漏了一些關于如何在 R 中更新資料框的資訊,因為我確實列印了 4 個具有正確列名的空資料框。所以這個函式適用于某些東西!但它沒有更新我的串列,我不明白為什么。
謝謝!
uj5u.com熱心網友回復:
我們可以使用設定列名,
List = lapply(List, function(x) `colnames<-`(x, headers))
uj5u.com熱心網友回復:
您似乎想更新原始資料幀。在這種情況下,您的串列必須被命名。即檢查下面的代碼。
List <- list(a = a, b = b, c = c, d = d)
list2env(lapply(List, setNames, nm = headers), globalenv())
現在,如果您致電,a您會注意到它已更新。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377751.html
上一篇:RdbGetQuery將blob資料與其他文本資料一起插入
下一篇:read.csv()讀取data.frameOKreadr::read_csv()對于相同的data.frame失敗,為什么?
