2
我確定之前一定會問這個問題,但找不到答案。根據名稱向列表中的數據框添加值
我有數據幀的列表,像這樣:
x <- c(2, 3, 5)
y <- c("a", "b", "c")
df1 <- data.frame(x, y)
x <- c(3, 6, 9)
y <- c("a", "b", "c")
df2 <- data.frame(x, y)
ls <- list(df1, df2)
names(ls) <- c("example1", "example2")
我希望做的就是創建一個新列,text_id,基於數據幀的名稱。我可以爲特定的數據幀做法如下:
ls[[1]]$text_id <- names(ls[1])
我想我明白如何lapply()
的作品,但我顯然不這樣做,因爲這不起作用:
ls2 <- lapply(ls, function(x){
ls[[x]]$text_id <- names(ls[x])
return(ls2)})
相反,我得到Error in ls[x] : invalid subscript type 'list'
我試圖as.data.frame
子集之前,但也沒有工作。而且我也不確定回報的價值應該是ls2
,但我還沒有那麼遠。
感謝。這很好。 – JoeF