【发布时间】:2021-03-20 16:12:42
【问题描述】:
我想根据 R 中的最后一个字符对字符串向量进行排序。 假设我有 m
m <- names(df)
m
[1] "test_1_p" "test_2_n" "test_3_p" "test_4_p" "test_5_n"
为了重现性:
m <- c("test_1_p","test_2_n","test_3_p","test_4_p","test_5_n")
现在我想要的输出是
[1] "test_2_n" "test_5_n" "test_1_p" "test_3_p" "test_4_p"
我尝试使用strsplit,但无法正常工作
r = strsplit(m,"_")
sorting_df = data.frame(r)
sort(sorting_df[3,])
我相信必须有一个相当简单的解决方案,可以与 python 相媲美,人们可以轻松地做到这一点like this
lst = ["test_1_p","test_2_n","test_3_p","test_4_p","test_5_n"]
sorted(lst, key=lambda x: x[-1])
编辑 非常感谢您提供的所有解决方案。刚刚接受了第一个。
【问题讨论】: