【发布时间】:2020-05-31 10:33:23
【问题描述】:
我想根据特定的理由对大型数据框(大约 14000 个变量)的列进行排序。
列名具有以下结构(Condition_Sleepstage_Parameter_Electrode_Nightpart):
[1] "Adapt_N2_negLengthLoc_C3_firstHour" "Adapt_N3_negLengthLoc_C3_firstHour"
[3] "Adapt_NREM_negLengthLoc_C3_firstHour" "Book_N2_negLengthLoc_C3_firstHour"
[5] "Book_N3_negLengthLoc_C3_firstHour" "Book_NREM_negLengthLoc_C3_firstHour"
R 的列按纯字母结构排序,但我希望它们按基于以下系统的逻辑顺序排列:
首先,变量应该在每个参数的块中呈现。 (顺序:“negLengthLoc”、“posLength”、“wholeLength”、“negPeak”、“nbnegPeaks”、“initialMeannegSlope”、“finalMeannegSlope”、“initialMaxnegslope”、“finalMaxnegslope”、“posPeak”、“nbposPeaks”、“initialMeannposSlope” , "finalMeanposSlope", "initialMaxposSlope", "PeaktoPeak", "Number", "Density")
在这些块中,最高层次的层次应该是由于条件。 (顺序:“Adapt”、“NoFilter”、“Filter”、“Book”)。
此后,下一个层次结构应该由 Electrode 定义。 (顺序:“F3”、“Fz”、“F4”、“C3”、“Cz”、“C4”、“P3”、“Pz”、“P4”、“O1”、“O2”)。
之后按 Nightpart(顺序:“firstHour”、“firstQuarter”、“secondQuarter”、“thirdQuarter”、“fourthQuarter”、“wholeNight”),最后按 Sleepstage(“order:“N2”、“N3”、“非快速眼动”)。
生成的顺序应如下所示:
[1] "Adapt_N2_negLengthLoc_F3_firstHour" "Adapt_N3_negLengthLoc_F3_firstHour"
[3] "Adapt_NREM_negLengthLoc_F3_firstHour" "Adapt_N2_negLengthLoc_F3_firstQuarter"
[5] "Adapt_N3_negLengthLoc_F3_firstQuarter" "Adapt_NREM_negLengthLoc_F3_firstQuarter"
[7] "Adapt_N2_negLengthLoc_F3_secondQuarter" "Adapt_N3_negLengthLoc_F3_secondQuarter"
[9] "Adapt_NREM_negLengthLoc_F3_secondQuarter" "Adapt_N2_negLengthLoc_F3_thirdQuarter"
[11] "Adapt_N3_negLengthLoc_F3_thirdQuarter" "Adapt_NREM_negLengthLoc_F3_thirdQuarter"
[13] "Adapt_N2_negLengthLoc_F3_fourthQuarter" "Adapt_N3_negLengthLoc_F3_fourthQuarter"
[15] "Adapt_NREM_negLengthLoc_F3_fourthQuarter" "Adapt_N2_negLengthLoc_F3_wholeNight"
[17] "Adapt_N3_negLengthLoc_F3_wholeNight" "Adapt_NREM_negLengthLoc_F3_wholeNight"
[19] "Adapt_N2_negLengthLoc_Fz_firstHour" "Adapt_N3_negLengthLoc_Fz_firstHour"
...
我希望有人可以帮助我,如果有任何进一步的问题,我当然很乐意提供更多信息!
提前致谢!
【问题讨论】:
-
欢迎来到 SO!您的列名中有很多信息。是否有必要将此信息存储为列名?如果您将信息存储在单独的列中(例如
parameter的一列,Condition的一列等),则按照数据整齐的原则处理数据会更容易:r4ds.had.co.nz/tidy-data.html -
感谢您的建议!由于这些数据会进一步分发给将使用 SPSS 的学生,因此有必要以这种“极端”宽格式保存数据。
标签: r sorting character alphabetical