我正在尝试使用R中的循环按年分隔数据库,但是在尝试保存多个结果时我遇到了麻烦。我的代码就是这个
d<- read.csv("BD_070218.csv")
results<-NULL
for(i in 1990:2015){
ano<-d[which(d$year==i),]
results[[i]] <- ano
}
答案 0 :(得分:0)
我想我理解你的问题。 两种可能的方法。
# Set a seed
set.seed(1)
# Create example dataframe
d <- data.frame(
a=1:120,
year=sample(1990:2015,120,replace = TRUE),
d=sample(letters,120,replace = TRUE)
)
# Method 1: Nested dataframes in a list
results<-list()
for(i in 1990:2015){
ano<-d[which(d$year==i),]
eval(parse(text=paste("results$year_", i, " <- ano", sep="")))
}
str(results)
results[["year_2012"]]
# Method 2: individual dataframes
for(i in 1990:2015){
ano<-d[which(d$year==i),]
assign(paste0("year_",i), ano, envir = .GlobalEnv)
}
str(year_2000)