首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有分类变量的tapply

带有分类变量的tapply
EN

Stack Overflow用户
提问于 2020-06-24 12:54:33
回答 2查看 128关注 0票数 1

我正在尝试使用tapply()对R中的mtcar数据集进行一些描述性分析。

所以问题是:

代码语言:javascript
复制
> table(mtcars$carb)

 1  2  3  4  6  8 
 7 10  3 10  1  1 
> tapply(mtcars$carb,list(mtcars$vs,mtcars$am),function(x){length(x)})
   0 1
0 12 6
1  7 7

上面的代码行得通,但下面的代码行不行:

代码语言:javascript
复制
> tapply(mtcars$carb,list(mtcars$vs,mtcars$am),function(x){table(x)})
  0         1        
0 Integer,3 Integer,4
1 Integer,3 Integer,2

通过在mtcar$carb上使用tapply,我希望从vs和am获得四个组合中每一个组合的表知道哪里出问题了吗?非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-24 13:12:07

tapply已经完成了计算,但它不能以易于查看的形式提供。您可以将table的输出包装在list中。

代码语言:javascript
复制
tapply(mtcars$carb,list(mtcars$vs,mtcars$am),function(x) list(table(x)))

#[[1]]
#x
#2 3 4 
#4 3 5 

#[[2]]
#x
#1 2 4 
#3 2 2 

#[[3]]
#x
#2 4 6 8 
#1 3 1 1 

#[[4]]
#x
#1 2 
#4 3 

或者使用lapply

代码语言:javascript
复制
temp <- tapply(mtcars$carb,list(mtcars$vs,mtcars$am),table)
lapply(temp, I)
票数 0
EN

Stack Overflow用户

发布于 2020-06-25 05:13:01

我们可以使用fable做到这一点

代码语言:javascript
复制
ftable(mtcars[c('carb', 'vs', 'am')])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62547907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档