如何从R中的数据帧中删除空值?
我在如何从R中的数据帧中删除空值?,r,R,我在R中创建了一个函数,它接受字符串并输出其中的模式。例如,对于字符串,“abcabc”,它输出“abc”,但如果字符串为,“abcdefghi”,它输出,“。现在,在包含1000行的dataframe上运行此函数时,我获得了输出,但是输出dataframe由多行组成,其中将此作为输出。我怎样才能删除这个? 输出数据帧的类型如下: 1 2 abc 2 3 bc 3 4 t 4 5 " " 5 3 ui 因此,我想删除前两列中包含值的行,如4和5。 谢谢 空字符串不是NULL(请尝试is.NUL
R
中创建了一个函数,它接受字符串并输出其中的模式。例如,对于字符串,“abcabc”
,它输出“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
或者,如果合适,您可以通过重新定义级别(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", " "), ]
set.seed(357)
xy我这样做了,但在运行此命令时,它输出,[1]X1 X2 X3 X4 X5(或0长度的row.names)
,其中我的数据帧由23k行组成。@Elliot我误读了您的值。它应该是”
(引号之间有一个空格)。请看我的编辑。我有前一个案例。我将添加一个数据帧的小示例。