r - 在 R 中循环创建多个数据帧
问题描述
我是 R 新手,我不知道如何在循环中创建多个数据帧。例如:我有一个 20 行 4 列的数据框“Data”:
Data <- data.frame(matrix(NA, nrow = 20, ncol = 4))
names(Data) <- c("A","B","C","D")
我想选择其在 T 列中的值是与 X 的向量元素最接近的值的 Data 行。
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
是一种方便的方式来给他们每个人自己的名字。请注意,某些数据框将为空。使用跳过dataframe的if
语句可能是值得的。assign
if (nrow(data3)==0)
`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)
}`
推荐阅读
- google-cloud-shell - Google Cloud Shell - 无法连接 - 客户端网络错误
- laravel - 将 maatwebsite excel 包添加到现有 laravel 5.7 项目后出现问题
- android - NoReadAccessException - 仅允许从事件调度线程或内部读取操作进行读取访问
- python-3.x - Python:for循环没有正确循环
- html - CSS - 表格单元格中的 100 高度
- encryption - 用户名加密
- flutter - 是否有任何代码检查器,例如用于颤振的 sonarqube
- html - 周围的 SVG 空间
- php - 更新多维数组中的特定键 (PHP)
- asp.net - ASP.net VB 回到上一页不断重新打开同一个当前页面