您知道如何在回圈中分配這些內容以使其不那么詳盡嗎?
number1 <- as.data.frame(do.call(cbind, my_list[1]))
number2 <- as.data.frame(do.call(cbind, my_list[2]))
number3 <- as.data.frame(do.call(cbind, my_list[3]))
number4 <- as.data.frame(do.call(cbind, my_list[4]))
number5 <- as.data.frame(do.call(cbind, my_list[5]))
我努力了:
for (i in 1:5) {
(number(i) <- as.data.frame(do.call(cbind, my_list[(i)])))
}
這是行不通的。
有任何想法嗎?
uj5u.com熱心網友回復:
您可以使用assign()函式來做到這一點。請使用以下示例來理解并編輯您的代碼:
for (i in 1:5) {
m <- data.frame(x=rnorm(10), y=rnorm(10))
assign(paste0('number',i), m)
}
number1
number2
number3
number4
number5
祝你好運。
uj5u.com熱心網友回復:
如果要提取資料框中串列的所有元素,可以使用assign:
# Example list with 5 elements
my_list <- list(1:5, 1:5, 1:5, 1:5, 1:5)
for(xx in seq_along(my_list)){
assign(paste0("number", xx), as.data.frame(do.call(cbind, my_list[xx])))
}
這將在您的全域環境中創建 5 個資料框,名為number1, number2, ...,number5
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/536589.html
標籤:r循环for循环
