ckl*_*uss 20 r dataframe r-factor
与str(data)我得到的head水平(1-2值)
fac1: Factor w/ 2  levels ... :
fac2: Factor w/ 5  levels ... :
fac3: Factor w/ 20 levels ... :
val: num ...
与dplyr::glimpse(data)我得到因子水平的数/值更多的价值,但没有相关信息.是否有自动方法获取data.frame中所有因子变量的所有级别信息?一个包含更多信息的简短表格
levels(data$fac1)
levels(data$fac2)
levels(data$fac3)
或者更准确地说是一个优雅的版本
for (n in names(data))
  if (is.factor(data[[n]])) {
    print(n)
    print(levels(data[[n]]))
  }
克里斯托夫
akr*_*run 22
这里有一些选择.我们遍历"数据" sapply并获取levels每列(假设所有列都是factor类)
sapply(data, levels)
或者如果我们需要pipe(%>%)它,可以这样做
library(dplyr)
data %>% 
     sapply(levels)
或者另一种选择是summarise_each从dplyr我们指定levels的位置funs.
 data %>%
      summarise_each(funs(list(levels(.))))
或者使用 purrr:
data %>% purrr::map(levels)
或者首先分解所有内容:
data %>% dplyr::mutate_all(as.factor) %>% purrr::map(levels)
并回答有关如何获得长度的问题:
data %>% map(levels) %>% map(length)
| 归档时间: | 
 | 
| 查看次数: | 60156 次 | 
| 最近记录: |