У меня проблемы с добавлением кода в функции / запуском цикла в R
Я хочу заменить переменные (var1,2,3,4) в кадре данных на основе значения в столбце var99.
Я могу сделать это следующим образом:
var1 = c(1, 2, 1, 2)
var2 = c(3, 2, 1, 2)
var3 = c(0.4, 2, 1, 2)
var4 = c(1, 2, 1, 2)
n1 = c(10, 14, 12, 10)
n2 = c(5, 3, 12, 10)
var99 = c('se', 'se', 'sd', 'sd')
mydata=data.frame(var1, var2, var3, var4, n1, n2, var99)
mydata<- mutate(mydata, var1 = ifelse(var99=="se",(var1*n1^0.5), var1))
mydata<- mutate(mydata, var2 = ifelse(var99=="se",(var2*n2^0.5), var2))
mydata<- mutate(mydata, var3 = ifelse(var99=="se", (var3*n2^0.5), var3))
mydata<- mutate(mydata, var4 = ifelse(var99=="se", (var4*n2^0.5), var4))
Но это станет громоздким с большим количеством переменных, и я бы предпочел, например,
varnames = c(var1, var2, var3, var4)
Это я потом перебрал. Кто-нибудь сможет посоветовать, как построить функцию / использовать lapply, поскольку мои попытки были неудачными
mutate_at
, чтобы применить вашу функцию к нескольким столбцам. Не очень-то просто помочь без каких-либо данных. - person AntoniosK   schedule 06.07.2018n1
илиn2
, верно? Просто убедитесь, что это не опечатка. - person AntoniosK   schedule 06.07.2018