Я работаю с функцией tapply в R. Я просто пытаюсь заставить функцию tapply возвращать те же результаты, что и функция sapply (тот, который, как я уверен, верен).
ЦЕЛЬ:
Я работаю с данными state.x77 и пытаюсь найти уровень грамотности в каждом регионе, используя функции sapply и tapply.
КОД:
####Setting up the data
state.df = data.frame(state.x77, Region=state.region, Division=state.division)
state.by.region = split(state.df, f=state.region)
state.by.div = split(state.df, f=state.division)
####Tapply
tapply(state.df$Illiteracy, INDEX = state.region,FUN = function(v){
li.rate = 100 - state.df$Illiteracy
return(median(li.rate))
})
Я вижу, что использую разные фреймы данных для tapply. Я думаю, что ДОЛЖЕН использовать state.by.region, но я просто не могу заставить его работать. Лучшее, что я могу придумать, это:
tapply(state.by.region[,"Illiteracy"], INDEX = state.region, FUN = function(v){
li.rate = 100 - state.by.region$Illiteracy
return(median(li.rate))
})
Что я могу попробовать дальше?