有没有办法采用多种方法并将它们存储在 R 中的向量中



我想要一种更简单的方法来执行此操作

MEAN1 = mean(CIS2017$USHRWK[CIS2017$AGE == 1 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN2 = mean(CIS2017$USHRWK[CIS2017$AGE == 2 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN3 = mean(CIS2017$USHRWK[CIS2017$AGE == 3 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN4 = mean(CIS2017$USHRWK[CIS2017$AGE == 4 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN5 = mean(CIS2017$USHRWK[CIS2017$AGE == 5 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN6 = mean(CIS2017$USHRWK[CIS2017$AGE == 6 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN7 = mean(CIS2017$USHRWK[CIS2017$AGE == 7 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN8 = mean(CIS2017$USHRWK[CIS2017$AGE == 8 | CIS2017$ALFST == 1], na.rm = TRUE)  
MEAN9 = mean(CIS2017$USHRWK[CIS2017$AGE == 9 | CIS2017$ALFST == 1], na.rm = TRUE)  

执行以下操作似乎不起作用

AGE_GROUPS = seq(1, 16, 1)  
MEAN = mean(CIS2017$USHRWK[CIS2017$AGE == AGE_GROUPS | CIS2017$ALFSTN == 1], na.rm = TRUE)

也许这就是你所追求的

list2env(setNames(
lapply(AGE_GROUPS,
function(k) mean(CIS2017$USHRWK[CIS2017$AGE == k | CIS2017$ALFSTN == 1], na.rm = TRUE)),
paste("MEAN",AGE_GROUPS)),envir = .GlobalEnv)

v <- setNames(
sapply(AGE_GROUPS,
function(k) mean(CIS2017$USHRWK[CIS2017$AGE == k | CIS2017$ALFSTN == 1], na.rm = TRUE)),
paste("MEAN",AGE_GROUPS))

最新更新