有没有一种使用循环来简化此代码的方法?
VariableList <- c(v0,v1,v2, ... etc)
National_DF <- df[,VariableList]
AL_DF <- AL[,VariableList]
AR_DF <- AR[,VariableList]
AZ_DF <- AZ[,VariableList]
... etc
我希望最终结果具有每个作为数据帧,因为它将在模型的后面使用。每个状态(例如“ AL”,“ AR”,“ AZ”等)都是数据帧。 v {#}代表RAW数据帧中的不适当的变量。这是为了在不删除某些字段的情况下重组字段,以准备模型使用。
答案 0 :(得分:2)
继续从您的previous question中获得答案,我们可以在创建数据框之前以相同的lapply
调用方式安排数据。
VariableList <- c('v0','v1','v2')
data <- unlist(lapply(mget(ls(pattern = '_DF$')), function(df) {
index <- sample(1:nrow(df), 0.7*nrow(df))
df <- df[, VariableList]
list(train = df[index,], test = df[-index,])
}), recursive = FALSE)
然后在全局环境中获取数据:
list2env(data, .GlobalEnv)