我有一個包含4個數據幀的列表:製作由變量爲多個數據幀的NA計數的數據幀在一個列表中
> names(listofdf) [1] "q12014local" "q12014national" "q22014local" "q22014national"
所有數據幀具有相同的變量名。我想創建一個新的數據幀,通過變量和數據幀來統計NAs的數量。輸出的結果應該是這樣的:
v1 v2 v3 v4 v5 v6 v7
q12014local 328 278 1786 0 0 12 1
q12014national 0 100 124 0 0 7 0
q22014local 0 0 0 0 0 289 0
q22014national 423 0 10 10 78 0 0
這裏有一個重複的例子:
> df1 <- data.frame(v1 = c(1:5), v2 = c("apple", "pear", NA, "peaches", NA), v3 = c("sunday", "monday", NA, NA, NA))
> df2 <- data.frame(v1 = c(2, 7, NA, NA, "9"), v2 = c("plum", NA, "kiwi", NA, "jackfruit"), v3 = c(NA, NA, "saturday", NA, "wednesday"))
> df3 <- data.frame(v1 = c(12, NA, NA, NA, 8), v2 = c("pineapple", "guava", "lytchee", NA, NA), v3 = c("tuesday", "thursday", "friday", NA, "monday"))
> listofdf <- list(df1, df2, df3)
到目前爲止,我一直在使用lapply(listofdf, function(x) table(is.na(x[, 15])))
來檢查列表中每個數據幀的NAs,這很麻煩!
我想'listofdf'的名字將是'第一3'。順便說一句,你創建了'NA'作爲字符串。原始數據集中是這種情況嗎? – akrun 2014-11-04 19:57:15
嘿,不,實驗室數據並不是字符串,它們是實際的數據。 – vagabond 2014-11-04 20:05:07
在這種情況下,您可以使用第二個選項即。 'is.na(x)' – akrun 2014-11-04 20:05:48