R-使用拆分按列类对列名称进行分组

时间:2019-02-24 07:22:32

标签: r list split data-manipulation

我试图按列类总结虹膜数据集的列。我尝试在列类列表上使用split

col.cl = lapply(iris, class)

split(names(col.cl), unlist(col.cl)) 

这会给出接近预期结果的结果以及警告消息:

Warning message:
In split.default(names(col.cl), unlist(col.cl)) :
  data length is not a multiple of split variable

$`factor`
[1] "Sepal.Length"

$numeric
[1] "Sepal.Width"  "Petal.Length" "Petal.Width" 

$ordered
[1] "Species"

这归因于Species列具有两个类:orderedfactor(因此,names(col)的长度为5,而split变量(col class)的长度为6) 。使用split(rep(names(col.cl), sapply(col.cl, length)), unlist(col.cl))可以解决长度上的不匹配问题,并摆脱了警告,但是我想知道是否有一种更简洁的方法来实现不需要rep的相同结果?

0 个答案:

没有答案