посчитать количество цифр в строке в r - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть столбец со строками:

name
aldrinas63_rios200_2001
sa_c.fr.1234

Я хочу подсчитать количество цифр в каждой ячейке: я использовал следующий код:

str_count(data$name, '\\d+')

Но у меня естьполучить вывод в виде:

Name                    output_I_get
aldrinas63_rios200_2001  3
sa_c.fr.1234             1

Но мой желаемый вывод выглядит следующим образом:

name                     output
aldrinas63_rios200_2001   9
sa_c.fr.1234              4

Любая помощь в этом отношении будет высоко оценен!

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Попробуйте это:

nchar(gsub("\\D", "", data$name))

Пример

s <- c("aldrinas63_rios200_2001","sa_c.fr.1234")

nchar(gsub("\\D", "", s))
#[1] 9 4
0 голосов
/ 21 сентября 2018

Мы можем удалить элементы, которые не являются цифрами и считать

nchar(gsub("[^0-9]+", "", data$name))
#[1] 9 4

или, если мы используем str_count, удалите проверки + как + для шаблонов одного илидополнительные цифры и число 63 в качестве первого экземпляра, 200 в качестве второго и 2001 в качестве третьего (для первого элемента 'name')

library(stringr)
str_count(data$name, "[0-9]")
#[1] 9 4

data

data <- structure(list(name = c("aldrinas63_rios200_2001", "sa_c.fr.1234"
 )), class = "data.frame", row.names = c(NA, -2L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...