Удалить все, что идет после символа, но существует тот же персонаж - PullRequest
0 голосов
/ 05 октября 2018

В таком фрейме данных:

df <- data.frame(id=c(1,2,3,4), text = c("word1","word2","word3","word4"), ts = c("something1,here,other","something2,here,other","something5,here,other","something4,here,other")

Я хотел бы сохранить только то, что существует до первой запятой в столбце t, и удалить все, что будет, если после него.Как этот результат:

df <- data.frame(id=c(1,2,3,4), text = c("word1","word2","word3","word4"), ts = c("something1","something2","something5","something4")

Я пробовал это, но это не подходит:

df$ts <- gsub(",","",df$ts)

Как я могу сделать платеж?

1 Ответ

0 голосов
/ 05 октября 2018

Вы были очень близки ... Используйте ,.* в качестве шаблона, чтобы заменить запятую и все, что находится после первой запятой (это будет .* -часть).

df$ts <- gsub( ",.*", "", df$ts )

#   id  text         ts
# 1  1 word1 something1
# 2  2 word2 something2
# 3  3 word3 something5
# 4  4 word4 something4            

Узнайте больше о регулярных выражениях: http://stat545.com/block022_regular-expression.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...