首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将2x2应急表转换为长格式数据?

如何将2x2应急表转换为长格式数据?
EN

Stack Overflow用户
提问于 2015-11-07 14:49:23
回答 1查看 1.2K关注 0票数 3

如何将2x2应急表转换为长格式的数据框架?我试过这个:

代码语言:javascript
复制
library(reshape2)
Table <- matrix(c(7,67,19,71), 2, 2, byrow=TRUE)
rownames(Table) <- c('Drug', 'No_Drug')
colnames(Table) <- c('Comp', 'No_Comp')
melt(Table)

我得到的不是一个由164个行组成的数据框架,它是由药物和No_Drug分类的

代码语言:javascript
复制
  Var1    Var2 value
1    Drug    Comp     7
2 No_Drug    Comp    19
3    Drug No_Comp    67
4 No_Drug No_Comp    71
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-07 15:01:36

据我所知,您正在尝试将您的4x3熔融data.frame转换为164x2 data.frame。您可以从expandRows()包中尝试splitstackshape

扩展(复制) data.frame或data.table的行,或者通过固定的数字、指定的向量或源data.frame或data.table中某一列中包含的值展开。

在您的例子中,只需:

代码语言:javascript
复制
library(splitstackshape)
m <- melt(Table)
expandRows(m, "value") 

备注:--这是一个方便的包装器,它围绕着基R:

代码语言:javascript
复制
out <- m[rep(sequence(nrow(m)), m[["value"]]), ]
out[["value"]] <- NULL
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33584057

复制
相关文章

相似问题

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