gpt4 book ai didi

r - paste() 函数和变量的排序级别

转载 作者:行者123 更新时间:2023-12-01 08:57:19 28 4
gpt4 key购买 nike

我在下面的数据框中有两列,每一列都有按照特定顺序的级别:

head(x1)
soa congruency
1 200 9
2 102 2
3 68 1
4 68 9
5 34 9
6 68 9

head(levels(x1$soa))
[1] "34" "68" "102" "200"

head(levels(x1$congruency))
[1] "1" "2" "9

我希望能够粘贴两列,以便新变量的级别为:

“34_1”“34_2”“34_9”“68_1”“68_2”“68_9”等......

但是,如果我执行以下操作:

x2 <- paste(x1$soa, x1$congruency, sep = "_")

我得到的等级是:

x2 <- factor(x2)

class(x2)
[1] "factor"

levels(x2)
[1] "102_1" "102_2" "102_9" "200_1" "200_2" "200_9" "34_1" "34_2" "34_9"
[10] "68_1" "68_2" "68_9"

我知道我可以在粘贴列后更改级别的顺序。但是,我希望能够对列进行排序,以便在粘贴它们之后我不需要更改级别的顺序。有没有办法可以做到这一点?例如,我尝试使用 order() 函数对 x1 进行排序(并且我做得正确),然后粘贴两列,但我仍然得到相同的级别顺序,这不是我想要的顺序。

任何帮助将不胜感激,

阿亚拉

最佳答案

你可以试试交互:

interaction(x1$soa, x1$congruency, sep=  "_", lex.order = TRUE)
## [1] 200_9 102_2 68_1 68_9 34_9 68_9
## Levels: 34_1 34_2 34_9 68_1 68_2 68_9 102_1 102_2 102_9 200_1 200_2 200_9

关于r - paste() 函数和变量的排序级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26633028/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com