首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中xtabs()表中的数学操作

R中xtabs()表中的数学操作
EN

Stack Overflow用户
提问于 2015-12-17 17:36:26
回答 2查看 207关注 0票数 3

如何将一个表中的两个因素级别相加?举个例子,我想把云杉色+处女膜相加.

代码语言:javascript
复制
t1 <- xtabs(~Species, iris)

> t1
# Species
#    setosa versicolor  virginica 
#        50         50         50 

然后去掉云杉色和处女色,留下新的层次"sumV“和它的价值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-17 17:45:13

代码语言:javascript
复制
t1 <- xtabs(~Species, iris)

#Species
#    setosa versicolor  virginica 
#        50         50         50 

然后将您想要的值和起来,并将它们分配到一个新的级别:

代码语言:javascript
复制
t1["sumV"]  = t1["versicolor"] + t1["virginica"]

#    setosa versicolor  virginica       sumV
#        50         50         50        100 

最后,删除不想保留的值:

代码语言:javascript
复制
t1[-c(2,3)]

#setosa   sumV 
#    50    100 
票数 3
EN

Stack Overflow用户

发布于 2015-12-17 17:43:55

我们可以通过将'versicolor‘和'virginica’更改为一个新的值'sumV‘,然后执行xtabs来获取数据集。

代码语言:javascript
复制
xtabs(~Species,transform(iris, Species= c('setosa', 
           'sumV')[(Species %in% c('versicolor', 'virginica'))+1L]))
#Species
#setosa   sumV 
#    50    100 

或者像@Ananda建议的那样,我们可以在grep中使用grep

代码语言:javascript
复制
xtabs(~ Species, transform(iris, Species = 
  replace(as.character(Species), grepl("^v", Species), "sumV")))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34340864

复制
相关文章

相似问题

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