Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免从R中的子集创建空数据帧?_R_Dataframe_Subset - Fatal编程技术网

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

如何避免从R中的子集创建空数据帧?,r,dataframe,subset,R,Dataframe,Subset,我正在尝试将一个基于月份和年份的数据框分离为几个较小的数据框。所以我使用了一个循环来提取满足月份和年份条件的数据帧(见下面的代码) 但是,在某些情况下,特定月份的数据在特定年份中不可用,通过使用下面的代码,它会创建空数据框。 有办法避免吗 Weather.df = read.table(file = "D:/Program Files/R Projects/Weather_Pattern/Weather.txt", header = TRUE, sep = ",") for (YEAR in

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

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

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)
  }
}

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

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

你能提供一个可重复的例子吗?谢谢Neal,这是一个有效的解决方案!