У меня есть фрейм данных DF
:
DF <- data.frame(V1 = factor(c("Yes", "No", "Yes", "No", "No")),
V2 = factor(c("Yes", "No", "No", "Yes", "No")),
Location = factor(c("London", "Paris", "No", "Dallas", "No")),
V3 = factor(c("No", "Yes", "No", "No", "No")),
V4 = factor(c("No", "Yes", "No", "No", "No")))
Я хочу изменить значения "No"
в переменных V1
, V2
, V3
и V4
- но не Location
- до "X"
.Я могу легко изменить названия уровней вручную в каждом столбце, но это занимает много времени в большом наборе данных.Однако, если я использую revalue
, то все "No"
, включая те, что в Location
, которые я хочу оставить без изменений, заменяются на "X"
:
library("plyr")
as.data.frame(lapply(DF, function(x) { revalue(x, c("No"="X")) }))
Есть ли способуказать переменные на основе их положения в наборе данных (здесь столбцы 1: 2 и 4: 5), к которым применяется переименование?