簡體   English   中英

如何從R中的數據幀中刪除NULL值?

[英]How can I remove NULL values from a dataframe in R?

我在R創建了一個函數,該函數接受字符串並在其中輸出模式。 例如,對於字符串"abcabcabc" ,它輸出"abc"但是如果我有字符串"abcdefghi" ,則輸出" " 現在,在包含1000行的dataframe上運行此函數時,我獲得了輸出,但是輸出dataframe由幾行組成,並以" "作為輸出。 我該如何刪除? 輸出數據幀具有以下類型:

1 2 abc
2 3 bc
3 4 t
4 5 " "
5 3 ui

因此,我想刪除包含前兩列中的值作為4和5的行。謝謝!

空字符串不是NULL (請嘗試is.null(" ") )。 您所看到的是一個因子級別" " (引號之間沒有任何內容)。 您可以通過搜索此字符串來刪除data.frame的行。

xy[!xy$col %in% " ", ] # I added ! to actually select the inverse, as advertized

或者,如果合適,可以通過重新定義levels(xy)將其合並到其他因子級別。

這是一個例子

set.seed(357)
xy <- data.frame(first = c("a", "a", "b", "b", "b", " ", " ", " ", "d", "d"), 
                 second = runif(10))

xy[!xy$first %in% " ", ] # can select multiple values (see below)
xy[!xy$first == " ", ] # alternative, can select only one value

# bonus
xy[!xy$first %in% c("a", " "), ]

暫無
暫無

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

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