首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中分解列后如何保持级别的顺序

在R中分解列后如何保持级别的顺序
EN

Stack Overflow用户
提问于 2021-06-15 16:42:16
回答 1查看 25关注 0票数 1

我有一个排列不同的电极(25x25=625)从额叶到顶叶。

代码语言:javascript
复制
> head(grph_test)
  Elec1 Elec2
1   Fp1   Fp1
2   Fp1   Fp2
3   Fp1    F7
4   Fp1    F3
5   Fp1    Fz
6   Fp1    F4

问题是,我想分解列,但它将级别顺序更改为字母顺序,这对我的目的并不有用。

代码语言:javascript
复制
> test$Elec1 <- factor(test$Elec1, ordered = is.ordered(test$Elec1))
> levels(grph_test$Elec1)
 [1] "C3"  "C4"  "CP1" "CP2" "CP5" "CP6" "Cz"  "F3"  "F4"  "F7"  "F8"  "FC1" "FC2" "FC5" "FC6" "Fp1" "Fp2" "Fz"  "Oz"  "P3"  "P4"  "P7"  "P8" 
[24] "POz" "Pz" 

虽然我的期望是,它们最终将以与原始列相同的顺序结束,该列如下所示:

代码语言:javascript
复制
"Fp1","Fp2","F7","F3","Fz","F4","F8","FC5","FC1","FC2","FC6","C3","Cz","C4","CP5","CP1","CP2","CP6","P7","P3","Pz","P4","P8","POz","Oz"

我认为,根据文档,ordered = is.ordered(test$Elec1)参数将能够保留原始订单,但正如您所看到的,它不能。

知道为什么吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-15 16:43:32

我们可以在uniquelevels参数中使用factor,因为unique返回该元素第一次出现时的唯一值,因此它保持与原始数据相同的发生顺序。

代码语言:javascript
复制
test$Elec1 <- factor(test$Elec1, levels = unique(test$Elec1))

注意:is.ordered返回一个逻辑输出

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

https://stackoverflow.com/questions/67990315

复制
相关文章

相似问题

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