Получение значений как FALSE в фиктивных столбцах, созданных после использования grepl () в r - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть этот набор данных со значениями, как указано ниже:

library(data.table)

df = 
  as.data.table(
    c(
      "Hello",
      "Name",
      "Age",
      "Hey",
      "Apron",
      "Street",
      "Night",
      "Soap",
      "Payment",
      "Grapes"
    )
  )

colnames(df) = 
  "V1"

Так что для столбца V1 я хотел создать диапазон значений и присвоить им число, создав новые столбцы.Но проблема здесь в том, что я хотел получить замененные значения, но вместо этого я получаю ложные значения.

 df = df %>%
      mutate(df_ag=grepl("^[A-G].*",1,V1),
             df_hn=grepl("^[H-N].*",2,V1),
             df_ps=grepl("^[P-S].*",3,V1))

            V1 df_ag df_hn df_ps
    1    Hello FALSE FALSE FALSE
    2     Name FALSE FALSE FALSE
    3      Age FALSE FALSE FALSE
    4      Hey FALSE FALSE FALSE
    5    Apron FALSE FALSE FALSE
    6   Street FALSE FALSE FALSE
    7    Night FALSE FALSE FALSE
    8     Soap FALSE FALSE FALSE
    9  Payment FALSE FALSE FALSE
    10  Grapes FALSE FALSE FALSE

Желаемый результат будет:

            V1 df_ag df_hn df_ps
    1    Hello   0     1     0
    2     Name   0     1     0
    3      Age   1     0     0
    4      Hey   0     1     0
    5    Apron   1     0     0
    6   Street   0     0     1
    7    Night   0     1     0
    8     Soap   0     0     1
    9  Payment   0     0     1
    10  Grapes   1     0     0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...