根据R中的字符串删除行

时间:2017-05-24 21:55:29

标签: r

我的数据集有两列,如下所示。

Digits  Age
(C)     25
(DL)    30
(E)     40
(R)     45
(N)     50

我想删除Digits中列值不等于(C)(DL)的所有行。

这可以实现吗? 谢谢

3 个答案:

答案 0 :(得分:0)

这是你在找什么?

df<-read.table(text="Digits  Age
              (C)     25
              (DL)    30
              (E)     40
              (R)     45
              (N)     50", stringsAsFactors=F,h=T)
dfnew<-df[which(df$Digits %in% c("(C)","(DL)")),]

结果:

  Digits Age
1    (C)  25
2   (DL)  30

答案 1 :(得分:0)

像这样

myDf <- data.frame(Digits = c("C","DL","E","R","N"), Age = c(25,30,40,45,50))
newDf <- myDf[myDf$Digits == "C" | myDf$Digits == "DL", ]

答案 2 :(得分:0)

以下是使用dplyr

执行此操作的方法


library(dplyr)

df <- tibble(
  Digits = c("(C)", "(DL)", "(E)", "(R)", "(N)"),
  Age = c(25L, 30L, 40L, 45L, 50L)
)

df %>% filter(!Digits %in% c("(C)", "(DL)"))

#> # A tibble: 3 x 2
#>   Digits   Age
#>    <chr> <int>
#> 1    (E)    40
#> 2    (R)    45
#> 3    (N)    50