如何避免在R中从子集创建空数据帧?

时间:2017-02-11 06:01:32

标签: r dataframe subset

我正在尝试将基于月份和年份的数据框分成几个较小的数据框。所以我使用循环来提取满足月份和年份条件的数据框(参见下面的代码)。

但是,在某些情况下,某些月份的数据在特定年份不可用,并且通过使用下面的代码,它会创建空数据帧。 有没有办法避免它?

Weather.df = read.table(file = "D:/Program Files/R Projects/Weather_Pattern/Weather.txt", header = TRUE, sep = ",")

for (YEAR in min(Weather.df$year):max(Weather.df$year)){
  for (MONTH in month.abb){
      temp.df = subset(Weather.df, month == MONHT & year == YEAR)
      assign(paste(YEAR,MONTH,"luna",sep="."), temp.df)
  }
}

1 个答案:

答案 0 :(得分:0)

您可以测试数据框是否有任何行:

if(nrow(temp.df) > 0) {
  # do assignment
}