可以使用dplyr中的if_else和arrange函数来实现:

library(dplyr)

df_sorted <- df %>%
  mutate(is_CH4 = Gas == "CH4") %>%
  arrange(if_else(is_CH4, 1, Gas), Date, Nrate, Hybrid, Plotnum, Concentration) %>%
  select(-is_CH4)

首先使用mutate函数创建一个is_CH4列,表示Gas是否为CH4。然后使用arrange函数按照is_CH4和其他列进行升序排序,其中if_else函数用来判断是否为CH4,如果是则将其排在第一位。最后使用select函数删除is_CH4列。

R数据框含有Gas Date Nrate Hybrid Plotnum Concentration等多列如果Gas不为CH4则利用dplyr按照Gas Date Nrate Hybrid PlotnumConcentration进行升序排序否则保持原顺序

原文地址: http://www.cveoy.top/t/topic/ZRV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录