如何去除行?标记而不是r中的n

发布于 2025-02-11 02:11:12 字数 63 浏览 2 评论 0原文

我在R中有一个数据框,但是有NA有问号。因此,使用na.omit行不通。如何去除行?在其中。

谢谢

I have a dataframe in r, but instead of NA, there is question mark. So using na.omit doesn't work. How can i remove rows having ? in it.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

毁梦 2025-02-18 02:11:12
dat <- data.frame(v1 = c(1, 5, "?"), v2 = c(3, 3, 9))
dat[dat$v1 != "?",]
  v1 v2
1  1  3
2  5  3
dat <- data.frame(v1 = c(1, 5, "?"), v2 = c(3, 3, 9))
dat[dat$v1 != "?",]
  v1 v2
1  1  3
2  5  3
骄兵必败 2025-02-18 02:11:12
> a <- c(1:5)
> b <- c(2:5,"?")
> c <- c("a","b","?","d","e")
> 
> df <- data.frame(a,b,c)
> df
  a b c
1 1 2 a
2 2 3 b
3 3 4 ?
4 4 5 d
5 5 ? e
> df[df == "?"] <- NA
> df
  a    b    c
1 1    2    a
2 2    3    b
3 3    4 <NA>
4 4    5    d
5 5 <NA>    e

然后,您可以使用na.omit()

> a <- c(1:5)
> b <- c(2:5,"?")
> c <- c("a","b","?","d","e")
> 
> df <- data.frame(a,b,c)
> df
  a b c
1 1 2 a
2 2 3 b
3 3 4 ?
4 4 5 d
5 5 ? e
> df[df == "?"] <- NA
> df
  a    b    c
1 1    2    a
2 2    3    b
3 3    4 <NA>
4 4    5    d
5 5 <NA>    e

then you can use na.omit()

娇妻 2025-02-18 02:11:12

将问号转换为NA

library(dplyr)
df %>%
  na_if("?") %>%
  na.omit()

另一个选项是使用na_if:输出:

  v1 v2
2  d  c

数据

df <- data.frame(v1 = c("?", "d"),
                 v2 = c("e", "c"))

Another option is converting the question mark to NA using na_if:

library(dplyr)
df %>%
  na_if("?") %>%
  na.omit()

Output:

  v1 v2
2  d  c

Data

df <- data.frame(v1 = c("?", "d"),
                 v2 = c("e", "c"))
血之狂魔 2025-02-18 02:11:12

使用rowsums尝试一下

df[rowSums(df=="?")>0,]

Try it with rowSums

df[rowSums(df=="?")>0,]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文