Expss for 循环中未解析的标签

Labels not parsed in Expss for loop

我是 R 的新手,正在尝试按组探索我的变量,我正在使用 for 循环在 expss 下传递所有适合的变量名称。

这是一个可重现的例子:


    require(expss)
    require(dplyr)
    colnoms <- as.data.frame(HairEyeColor) %>%  names(.)
    expss_digits(2)

    for (i in colnoms){      

    as.data.frame(HairEyeColor) %>%
        tab_cells(get(i)) %>%
        tab_cols(Eye) %>% 
        tab_stat_cpct() %>%
        tab_last_sig_cpct() %>% 
        tab_pivot() %>%
        set_caption(i) %>% 
        htmlTable() %>% 
        print()  
    }

我期望输出中的变量名称(头发、眼睛、颜色),但我只得到 "get(i)"。 感谢任何建议

get之后我们就不知道原来的变量名了。显示原始名称的最简单方法是将变量名称设置为标签:

require(expss)
data(HairEyeColor)
HairEyeColor <- as.data.frame(HairEyeColor)
colnoms <-  names(HairEyeColor)

expss_digits(2)

for (i in colnoms){      
    # if we don't have label we assign name as label
    if(is.null(var_lab(HairEyeColor[[i]])))  var_lab(HairEyeColor[[i]]) = i
    HairEyeColor %>%
        tab_cells(get(i)) %>%
        tab_cols(Eye) %>% 
        tab_stat_cpct() %>%
        tab_last_sig_cpct() %>% 
        tab_pivot() %>%
        set_caption(i) %>% 
        htmlTable() %>% 
        print()  
}