首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: interaction():组合而不是排列

R: interaction():组合而不是排列
EN

Stack Overflow用户
提问于 2015-11-15 01:43:27
回答 1查看 81关注 0票数 2

在R中使用interaction()函数时,13和31被认为是不同的相互作用。我想把它们看成是一样的。

代码语言:javascript
复制
factor1 <- c(rep(1,3), rep(2,3), rep(3,3))
factor2 <- c(rep(c(1,2,3), 3))

combined <- interaction(factor1, factor2, sep = "")

合并后的结果如下:

代码语言:javascript
复制
> combined
[1] 11 12 13 21 22 23 31 32 33
Levels: 11 21 31 12 22 32 13 23 33

但我想让它看起来像这样

代码语言:javascript
复制
> combined
[1] 11 12 13 12 22 23 13 23 33
Levels: 11 12 13 22 23 33

有什么优雅的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

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

先排序,然后降低级别:

代码语言:javascript
复制
f1 = pmin(factor1, factor2)
f2 = pmax(factor1, factor2)

droplevels(interaction(f1, f2, sep=""))
# [1] 11 12 13 12 22 23 13 23 33
# Levels: 11 12 22 13 23 33

如果您对字符串结果没有意见,paste0(f1,f2)就更简单了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33715496

复制
相关文章

相似问题

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