Как удалить всю строку, если указанное мной значение столбца начинается с '1' - PullRequest
2 голосов
/ 24 октября 2019

У меня есть набор данных:

yearID  teamID  lgID  playerID   salary
 1985    BAL     AL   murraed02  1472819
 1985    BAL     AL   lynnfr01   1090000
 1985    BAL     AL   ripkeca01  800000
 1985    BAL     AL   lacyle01   725000
 1985    BAL     AL   flanami01  641667
 1985    BAL     AL   boddimi01  625000
 1985    BAL     AL   stewasa01  581250

Я хотел бы удалить всю строку, если значение столбца salary начинается с '1'.

Например, если значение столбца salary равно 12240, я хотел бы удалить строку.

Ответы [ 3 ]

3 голосов
/ 24 октября 2019

Вот забавная идея с математикой,

df[df$salary / 10^(nchar(df$salary)) >= 0.2,]

#  yearID teamID lgID  playerID salary
#3   1985    BAL   AL ripkeca01 800000
#4   1985    BAL   AL  lacyle01 725000
#5   1985    BAL   AL flanami01 641667
#6   1985    BAL   AL boddimi01 625000
#7   1985    BAL   AL stewasa01 581250
3 голосов
/ 24 октября 2019

Попробуйте:

tibble(x = c(123, 4232, 312, 321)) %>% 
  filter(!grepl("^1", x))
2 голосов
/ 24 октября 2019
df[!stringr::str_extract(df$salary, "\\d{1}")==1,]

  yearID teamID lgID  playerID salary
3   1985    BAL   AL ripkeca01 800000
4   1985    BAL   AL  lacyle01 725000
5   1985    BAL   AL flanami01 641667
6   1985    BAL   AL boddimi01 625000
7   1985    BAL   AL stewasa01 581250
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...