我有國家和縣組織的產量數據。在這些數據中,我只想保留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)
謝謝
這是不明確在所有說實話。假定您的假數據會導致什麼後果? – thelatemail
我希望包含缺失年份的縣被完全從數據集中刪除。 –