簡體   English   中英

如何在 R 中的 dataframe 子集觀察中包含缺失值?

[英]How to include missing values in subsetting observations in dataframe in R?

我想包括對問題評分為 1 的參與者和未回答問題的參與者(即“NA”)。 我嘗試在 R 中使用子集 function 但在我嘗試的許多代碼中返回的參與者數量為零。 下面是我使用的代碼。 我認為代碼“alldata$Debrief_2=='1'”的第一部分是正確的,因為當我單獨輸入時,它總是返回合理數量的參與者。

但是對於第二部分(即“is.na(alldata$Debrief_2)”),這是關於缺失值的,在我所做的嘗試中,返回的數字始終為零。 所以我認為主要問題在於缺失值的代碼。

alldata3 <- alldata[ which(alldata$Debrief_2=='1'
& (is.na(alldata$Debrief_2))
), ]

我還嘗試了以下代碼來包含缺失值,但結果都是零觀察值。

alldata3 <- alldata[ which(alldata$Debrief_2=='1'

+                            & is.na(alldata$Debrief_2)

+                                    ), ]
alldata3 <- alldata[ which(alldata$Debrief_2=='1'

+                            & alldata$Debrief_2=='is.na'

+                                    ), ]
alldata3 <- alldata[ which(alldata$Debrief_2!='2'

+                           ),na.rm=TRUE]

is.na 不起作用對我來說很奇怪,因為當我使用下面的代碼檢查缺失值時,它返回了合理數量的缺失值觀察值。 我也沒有更改我導入到 R 的 excel 中的空列中的任何內容(即,我沒有將 NA 更改為字符)。

sum(is.na(alldata$Debrief_2))

我也試過排除評分為 2 的參與者(答案只有 1 或 2 兩個選項),但結果與只包括評分為 1 的參與者是一樣的。請看下面的代碼。

 alldata3 <- alldata[ which(alldata$Debrief_2!='2'

+                           ), ]

我已經閱讀了下面的字符串並使用了建議的代碼,但正如您所看到的,它在我的情況下不起作用...:(

https://www.edureka.co/community/2308/how-to-subset-rows-containing-in-chosen-column-of-data-frame

** 有人可以為我建議一個正確的代碼來包含缺失值的參與者嗎? 提前謝謝你的幫助!**

由於您沒有提供可重現的示例,因此我編造了一些數據。

# data
set.seed(22)
all_data <- data.frame("Debrief_1" = sample(c(NA, 1:10), 100, replace = TRUE), 
                       "Debrief_2" = sample(c(NA, 1:10), 100, replace = TRUE))

然后我們可以使用or進行子集化,即,如果Debrief_1" 等於 1 或 NA,我們希望保留觀察結果。

# subset
with(all_data, 
     {all_data[Debrief_1 == 1 | is.na(Debrief_1), ]})

#    Debrief_1 Debrief_2
# 6         NA         4
# 14        NA        NA
# 16         1         5
# 17        NA         9
# 21        NA         2
# 34        NA         5
# 35         1        NA
# 36        NA         8
# 38         1         7
# 39         1         7
# 52         1         6
# 54        NA         7
# 61        NA         2
# 70        NA         6
# 71         1         8
# 83         1         2
# 84         1         2
# 90        NA        NA
# 93        NA         5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM