Создание еще одного столбца в R - PullRequest
1 голос
/ 18 февраля 2020

Это мой текущий набор данных enter image description here

Я хочу взять числа после "узкого" (например, 20) и сделать еще один вектор. Есть идеи, как я могу это сделать?

Ответы [ 4 ]

0 голосов
/ 18 февраля 2020

Может быть, вы можете попробовать код ниже, используя regmatches

df$new <- with(df, as.numeric(unlist(regmatches(stimulus,gregexpr("\\d+",stimulus)))))
0 голосов
/ 18 февраля 2020

Вы хотите отделить от пакета tidyr.

library(dplyr)
df <- data.frame(x = c(NA, "a.b", "a.d", "b.c"))
df %>% separate(x, c("A", "B"))
#>      A    B
#> 1 <NA> <NA>
#> 2    a    b
#> 3    a    d
#> 4    b    c
0 голосов
/ 18 февраля 2020

Вы можете использовать separate для разделения столбца stimulus на два вектора.

library(tidyr)
df %>%
  separate(col = stimulus, 
           sep = ", ",
           into = c("Text","Number"))
0 голосов
/ 18 февраля 2020

Мы можем использовать sub, чтобы удалить подстроку "Narrow", за которой следует , и ноль или более пробелов (\\s+), заменить пробелом ("") и преобразовать в numeric* 1006. *

df1$New <- as.numeric(sub("Narrow,\\s*", "", df1$Stimulus))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...