Внимание: вопрос из нескольких частей!
Я понимаю, что на части этого ответа был дан ответ в другом месте, но я изо всех сил пытаюсь собрать их вместе в красивом скупом фрагменте кода....
У меня есть фрейм данных с количеством (24) числовых столбцов, представляющих интерес. Для каждого столбца я хочу создать новую переменную в том же фрейме данных (с разумным названием), в которой значения соответствуют среднему значению дециля, специфичного для пола, для этой переменной (пол находится в другом столбце, кодируется 0/1) .
Новыми именами столбцов из исходного столбца с названием «WBC» могут быть, например: «WBC_meandec_women» и «WBC_meandec_men».
Я пробовал различные фрагменты кода, чтобы сначала создать новые переменные, а затем присвоить значения, связанные с децилем, но ни один из них не работает хорошо, и я не могу понять, как их собрать. Я просто знаю, что есть умный способ поместить все части в один и тот же кусок кода, я просто недостаточно хорошо владею R, чтобы добраться туда...
dummydata <- data.frame(id=c(1:100),sex=rep(c(1,0),WBC=rnorm(100),RBC=rnorm(100))
Попытка достичь:
goaldata <- data.frame(id=c(1:100),sex=rep(c(1,0),50),WBC=rnorm(100),RBC=rnorm(100),WBC_decmean_women=rep(NA,length(dummydata)),WBC_decmean_men=rep(NA,length(dummydata)),RBC_decmean_women=rep(NA,length(dummydata)),RBC_decmean_men=rep(NA,length(dummydata)))
... но, очевидно, с правильными значениями вместо NA и для списка примерно из 24 исходных переменных.
Любая помощь очень ценится!