0
我想通过一些对象循环来执行一些子集在每个对象中的数据框。而且,在每年的数据框内我都会进行子集化。我正在使用带有数据帧名称的字符向量将数据传递到循环中,然后使用assign()将其传回给字符名称。问题在于,循环在分配时不会将任何行返回到数据帧。这里是代码:for循环返回0行数据帧
dfs <- c('df.one', 'df.two', 'df.three', etc.)
year <- NULL;
for (i in 1:length(dfs)) {
data <- get(dfs[i]);
for (j in unique(data$year)) {
yr <- data[data$year==unique(data$year)[j],]
yr <- subset(yr, snowmelt.date <= sampling.date)
year <- rbind(year, yr)
}
assign(dfs[i], year)
}
其他方法的任何想法或想法将不胜感激!谢谢你的帮助。
比率
P.请让我知道,如果一个实际可重复的例子将有助于这一点。我只是认为有人可以通过查看代码来挑选某些东西。
有更好的方法来做到这一点,但作为一个开始,对于子集多年,试试这个'年< - 数据[数据$ year == j,]'j的值是unique(data $ year)',并且不是索引。 – infominer
谢谢,infominer。你介意让我介绍一些更好的方法来做到这一点? – logicForPresident
一个可重复的例子会有所帮助,或许你的一个数据框中的'dput'将'dput(df.one)'的输出粘贴到问题中 – infominer