gpt4 book ai didi

r - R 中的列表元素排序

转载 作者:行者123 更新时间:2023-12-02 21:29:57 25 4
gpt4 key购买 nike

我有一些文件,例如

myfiles <- c("1850-12.dat", "1851-10.dat", "1851-11.dat", "1851-1.dat",  "1851-6.dat", 
"1851-7.dat", "1851-8.dat", "1852-10.dat", "1852-11.dat", "1852-12.dat",
"1852-1.dat", "1852-2.dat", "1852-3.dat", "1852-4.dat", "1852-7.dat",
"1852-8.dat", "1852-9.dat", "1853-10.dat", "1853-11.dat", "1853-12.dat")

其中第一个数字是年份,第二个数字是月份,我将它们放入列表中

myfilesContent <- lapply(myfiles, read.table, quote="\"")

我用以下命令重命名了每个元素的名称

myfilesContent <- setNames(myfilesContent,myfiles)
>myfilesContent[1]

$`1850-12.dat`
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21
.
.
.

我想做的是根据年份和月份信息对列表元素重新排序。

我所做的是将它们重命名为自一年以来的天数值,因此每个列表元素的名称如下所示

> names(myfilesContent)
[1] "335" "639" "670" "366" "517" "547" "578" "1005" "1036"
[10] "1066" "731" "762" "791" "822" "913" "944" "975" "1370"
[19] "1401" "1431" "1097" "1128" "1156" "1187" "1217" "1248" "1309"
[28] "1340" "1735" "1766" "1796" "1462" "1493" "1521" "1552" "1582"

但是我不知道如何对它们进行排序。

非常感谢

最佳答案

dates <- do.call(rbind, 
strsplit(gsub(".dat", "",
myfiles, fixed=TRUE),
"-"))
dates <- matrix(as.numeric(dates), ncol=2)

myfilesContent[order(dates[,1], dates[,2])]

关于r - R 中的列表元素排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22557707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com