изменить значение данных в столбце в датафрейме в R
У меня есть датафрейм с 4 столбцами, в котором один из столбцов содержит данные, допустим, a, b, c, d, e. Всего 582 строки с этими значениями. Мне нужно заменить в последнем столбце "a" и "b" на 1, а "c", "d", "e" на 0 и создать новый шестой столбец, в котором присутствуют только эти 0 и 1 (для последующей логистической регрессии). Как я могу это сделать? Дали подсказку, что можно с помощью dplyr, но пока нет представления.
df1 <- data.frame(A=c(3,2,1,4,5,3,4,2),B=c(1,2,3,3,4,1,4,2),C=c(2,1,4,5,2,1,3,2), D=c('a', 'c', 'c', 'e', 'd', 'b', 'a', 'b'))
row.names(df1)<-c("R1","R2","R3","R4","R5","R6","R7","R8")
df1
A B C D
R1 3 1 2 a
R2 2 2 1 c
R3 1 3 4 c
R4 4 3 5 e
R5 5 4 2 d
R6 3 1 1 b
R7 4 4 3 a
R8 2 2 2 b
Нужно создать столбец Е, где заменить значения из столбца D на 0 и 1 так что:
a, b = 1; c, d, e = 0
чтобы получилось так:
A B C D E
R1 3 1 2 a 1
R2 2 2 1 c 0
R3 1 3 4 c 0
R4 4 3 5 e 0
R5 5 4 2 d 0
R6 3 1 1 b 1
R7 4 4 3 a 1
R8 2 2 2 b 1
Ответы (1 шт):
Автор решения: user431563
→ Ссылка
Получилось, но без создания нового столбца, сделала так
df$D = ifelse(df$D == 'a' | df$D == 'b', 1, 0)