gpt4 book ai didi

r - 仅过滤完整的年份集

转载 作者:行者123 更新时间:2023-12-04 09:08:49 26 4
gpt4 key购买 nike

我有按州和县组织的产量数据。在这些数据中,我只想保留那些提供 1970 年到 2000 年之间完整年份的县。

以下代码清除了一些不完整的情况,但未能忽略所有情况 - 特别是对于较大的数据集。假数据

一些假数据:

虚假数据

K <- 5 # number of rows set to NaN

df <- data.frame(state = c(rep(1, 10), rep(2, 10)),
county = rep(1:4, 5), yield = 100)

df[sample(1:20, K), 3] <- NaN

当前代码:

df1 <- read.csv("gly2.csv",header=TRUE)

df <- data.frame(df1)


droprows_1 <- function(df, v1, v2, v3, value = 'x'){
idx <- df[, v3] == value
todrop <- df[idx, c(v1, v2)]; todrop # should have K rows missng
todrop <- unique(todrop); todrop # but unique values could be less

nrow <- dim(todrop)[1]
for(i in 1:nrow){
idx <- apply(df, 1, function(x) all(x == todrop[i, ]))
df <- df[!idx, ]
}
return(df)
}

qq <- droprows_1(df, 1, 2, 3)

谢谢

最佳答案

要删除具有单个缺失值的县,请使用:

library(dplyr)
df %>% group_by(county) %>% filter( !any(is.nan(yield)))

关于r - 仅过滤完整的年份集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30229783/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com