Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从R中的数据帧中删除空值?_R - Fatal编程技术网

如何从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我误读了您的值。它应该是
(引号之间有一个空格)。请看我的编辑。我有前一个案例。我将添加一个数据帧的小示例。