在r中按字符对数据帧重新排序
我在r中有一个数据帧,如下所示:在r中按字符对数据帧重新排序,r,dataframe,R,Dataframe,我在r中有一个数据帧,如下所示: Wave_Expo Tide_Zone avg 1 HighEx High 5.750000 2 HighEx Low 5.333333 3 HighEx Mid 7.833333 4 LowEx High 4.083333 5 LowEx Low 5.916667 6 LowEx Mid
Wave_Expo Tide_Zone avg
1 HighEx High 5.750000
2 HighEx Low 5.333333
3 HighEx Mid 7.833333
4 LowEx High 4.083333
5 LowEx Low 5.916667
6 LowEx Mid 4.916667
7 MidEx High 4.583333
8 MidEx Low 5.833333
9 MidEx Mid 4.090909
我一直试图通过
Tide_Zone
列重新排列它,使它在保持曝光列有序的同时,变低、变中、变高,但没有运气。我觉得一定有简单的办法。有什么帮助吗?使用级别指定每个因素的顺序:
dat$Tide_Zone = factor(dat$Tide_Zone, levels = c("Low", "Mid", "High"))
dat$Wave_Expo = factor(dat$Wave_Expo, levels = c("HighEx", "LowEx", "MidEx"))
# the default is alphabetical, which is how your Wave_Expo column are ordered
# I included that line just to make it clear, you could change it...
首先按Wave_Expo重新排序数据排序,然后按Tide_Zone重新排序
dat = dat[order(dat$Wave_Expo, dat$Tide_Zone), ]
如果它们以字符开头,我建议执行此过程,然后按所需顺序添加一个id
列,然后根据需要转换回character
。然后,如果您需要重新排序,此顺序将保留在id
列中。是否为您想要的Wave_Expo的高、低、中顺序?您的列是字符串还是因子?