跳过R中for循环中的空数据帧
我目前正在从事一个项目,在这个项目中,我正在浏览一个包含某些事件信息的大型数据框架。在这些项目中,我对计算球的平均速度感兴趣。不管是谁做的,我都在使用一个for循环,它首先对数据帧进行子集运算,得到一个只包含某个事件信息的数据帧。之后,它计算该项目的平均球速,并确定哪个队拥有该球。现在我遇到了一个问题,有时一个事件不在我的大数据帧中,因此基于该事件对它进行子集设置会返回一个空数据帧。此时,我的for循环遇到错误并停止。我希望使用if语句查看事件数是否高于0会有所帮助,但它给出了相同的结果。下面是我在for循环中使用的代码跳过R中for循环中的空数据帧,r,for-loop,dataframe,subset,R,For Loop,Dataframe,Subset,我目前正在从事一个项目,在这个项目中,我正在浏览一个包含某些事件信息的大型数据框架。在这些项目中,我对计算球的平均速度感兴趣。不管是谁做的,我都在使用一个for循环,它首先对数据帧进行子集运算,得到一个只包含某个事件信息的数据帧。之后,它计算该项目的平均球速,并确定哪个队拥有该球。现在我遇到了一个问题,有时一个事件不在我的大数据帧中,因此基于该事件对它进行子集设置会返回一个空数据帧。此时,我的for循环遇到错误并停止。我希望使用if语句查看事件数是否高于0会有所帮助,但它给出了相同的结果。下面是
for(i in 1:484){
df <- subset[which(subset$event.id == event), ]
if(df$event.id >= 0){
df <- df[rev(order(df$game_clock)),]
distance <- travelDist(df$x_loc, df$y_loc)
start.time <- max(df$game_clock)
end.time <- min(df$game_clock)
time <- start.time - end.time
data.frame$speed.event[i] <- distance/time
df$HOMEDESCRIPTION <- as.numeric(df$HOMEDESCRIPTION)
df$VISITORDESCRIPTION <- as.numeric(df$VISITORDESCRIPTION)
df[is.na(df)] <- 0
if(df$HOMEDESCRIPTION[1] == 0){
data.frame$team[i] <- "away"
}else{
data.frame$team[i] <- "home"
}
event <- event + 1
}else{
event <- event + 1
}
}
for(1:484中的i){
df=0){
df检查df的行数
if (nrow(df)>0){
...
}
您可以使用ifelse跳过空数据帧。下面是解决此问题的另一个解决方案: