![](/img/trans.png)
[英]Creating a loop to complete statistical models on multiple dataframes in R
[英]Creating multiple dataframes in a loop in R
我是 R 的新手,我不知道如何在循環中創建多個數據框。 例如:我有一個 20 行 4 列的數據框“數據”:
Data <- data.frame(matrix(NA, nrow = 20, ncol = 4))
names(Data) <- c("A","B","C","D")
我想選擇數據行,它在列 T 中的值是與 X 的向量元素最接近的值。
X = c(X1,X2,X3,X4,X5)
最后,我想將它們分配給具有關聯 X 名稱的單獨數據框:
for(i in 1:length(X)){
data_X[i] <- data.frame(matrix(NA))
data_X[i] <- subset(data2, 0 <= A-X[i] | A-X[i]< 0.000001 )
}
謝謝!
由於您沒有給我們任何數字,因此很難確切說明您需要 for 循環查找什么。 因此,您需要自己解決這個問題,但這里有一個基本示例,說明您可以做什么。 我認為您缺少的重要部分是您需要使用assign
將創建的數據幀發送到您的全局環境或您希望它們去的任何地方。 Paste0
是一種方便的方法,可以為它們各自命名。 請注意,某些數據框將為空。 使用if
語句跳過數據幀if (nrow(data3)==0)
assign
可能是值得的。
`Data <- data.frame(matrix(sample(1:10,80,replace = T), nrow = 20, ncol = 4))`
`names(Data) <- c("A","B","C","D")`
`X = c(1:10)`
`for(i in 1:length(X)){
data2 <- Data
data3 <- subset(data2, A == X[i])
assign(paste0("SubsetData",i), data3, envir = .GlobalEnv)
}`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.