Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中对列表中的数据帧进行排序_R - Fatal编程技术网

在R中对列表中的数据帧进行排序

在R中对列表中的数据帧进行排序,r,R,假设我有名为df1到df20的数据帧。这些数据帧位于列表中 列表中的数据顺序为“df1”、“df10”、“df11”、“df12”, 如何使其成为“df1”、“df2”、“df3”、“df4”?创建名称向量并将其子集。如果列表被称为dflist dflist <- dflist[paste0('df', 1:20)] dflist <- dflist[stringr::str_sort(names(dflist), numeric = TRUE)] i <- stringr

假设我有名为df1到df20的数据帧。这些数据帧位于列表中

列表中的数据顺序为“df1”、“df10”、“df11”、“df12”,
如何使其成为“df1”、“df2”、“df3”、“df4”?

创建名称向量并将其子集。如果列表被称为
dflist

dflist <- dflist[paste0('df', 1:20)]
dflist <- dflist[stringr::str_sort(names(dflist), numeric = TRUE)]

i <- stringr::str_order(names(dflist), numeric = TRUE)
dflist <- dflist[i]
dflist <- dflist[order(as.integer(sub("df", "", names(dflist))))]

程序包
stringr
函数
stru sort
stru order
有一个参数
numeric
,当设置为
TRUE
时,该参数会进行数字排序。这里有两种方法,假设data.frames列表名为
dflist

dflist <- dflist[paste0('df', 1:20)]
dflist <- dflist[stringr::str_sort(names(dflist), numeric = TRUE)]

i <- stringr::str_order(names(dflist), numeric = TRUE)
dflist <- dflist[i]
dflist <- dflist[order(as.integer(sub("df", "", names(dflist))))]
dflist您可以使用
sub
删除
列表的
名称中的字符串df,使用
as.integer
将结果强制转换为整数,并使用
order
的输出在
列表中获得所需的顺序

dflist <- dflist[paste0('df', 1:20)]
dflist <- dflist[stringr::str_sort(names(dflist), numeric = TRUE)]

i <- stringr::str_order(names(dflist), numeric = TRUE)
dflist <- dflist[i]
dflist <- dflist[order(as.integer(sub("df", "", names(dflist))))]