[英]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.