【发布时间】:2015-09-23 05:39:51
【问题描述】:
我有一个包含 5 列的 data.frame “df”:“year”、“state”、“county”、“fips”(州-县标识符)、“yield”。
许多县包含NA 以表示产量。我最初通过代码消除了具有任何NA 值的县:
Data <- df %>% group_by(fips) %>% filter(!any(is.na(Yield)))
我现在只需要消除那些包含超过 3 个 NA 的县。因此,NA>3
对于NA =spline 函数:
v <- na.spline(df$Yield)
df$Yield <- v
到目前为止,我有以下内容用于删除所有带有NA>3 的县,并使用样条填充剩余郡的NA:
if(length(df$Yield[is.na(df$Yield))<3){
na.spline(df$Yield)
}
}else{
df %>% group_by(fips) %>% filter(!any(is.na(Yield)))
}
这显然行不通。任何见解将不胜感激。
【问题讨论】:
-
请考虑根据该示例提供一个带有预期输出的小型示例数据集
-
类似这样的:
df %>% group_by(country) %>% mutate(is3NA=ifelse(sum(is.na(Yield))>3,"Include","Exclude")) %>% filter(is3NA=="Incude")请提供示例数据和预期输出。
标签: r if-statement na spline subset