У меня есть этот набор данных со значениями, как указано ниже:
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