vec.1 <- c(1, 2)
vec.2 <- c(2, 3)
df.1 <- data.frame(vec.1, vec.2)
df.2 <- data.frame(vec.2, vec.1)
my_list <- list(df.1, df.2)
我希望創建從該列表中他們來自列表數列表示沿每個數據幀 序列。
打印數據列表:
[[1]]
vec.1 vec.2
1 1 2
2 2 3
[[2]]
vec.2 vec.1
1 2 1
2 3 2
代碼:
funk <- function(x){
index <- seq(x)
linenum <-
cbind(x,index,linenum)
}
new.dat <- lapply(my_list, funk)
預期輸出:
[[1]]
vec.1 vec.2 index listnum
1 1 2 1 1
2 2 3 2 1
[[2]]
vec.2 vec.1 index listnum
1 2 1 1 2
2 3 2 2 2
目前我面臨的困難,創造這個listnum
列。
我相信雖然所有其他解決方案確實解決了這個問題。但是,我發現tidyverse解決方案非常有用。 – Shoaibkhanz
但是,有一個問題沒有解決,那就是如果包含數據框的列表有一些'NULL'列表索引。我實施的解決方案涉及確定哪些索引具有NULL,然後用僞數據幀替換它們。 – Shoaibkhanz
@Shoaibkhanz目前尚不清楚具體情況。但是,如果有空元素,你可以用'if/else'條件,即'〜if(is.null(.x))NA else mutate(.x,index = row_number(),listnum = ..y) )' – akrun