Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
在列表上使用dplyr应用和排序?_R_List_Dplyr_Tidyr - Fatal编程技术网

在列表上使用dplyr应用和排序?

在列表上使用dplyr应用和排序?,r,list,dplyr,tidyr,R,List,Dplyr,Tidyr,有人能解释一下我是如何使用apply家族中的一些东西在一个列表中实现这一点的吗 list1[[1]][1:31,] %>% arrange(vuln) 基本上,我需要做的就是选择行1:31,然后使用vuln排列数据集。上面实现了这一点,但在列表中的第一个数据帧上实现了这一点。我在猜测类似的事情: apply(list1,2,function(x)list[x][1:31] %>% arrange(vuln)) 但上述措施似乎并不奏效。也只是为了比较,我能看到一个相同的循环吗 谢谢

有人能解释一下我是如何使用apply家族中的一些东西在一个列表中实现这一点的吗

list1[[1]][1:31,] %>% arrange(vuln)
基本上,我需要做的就是选择行1:31,然后使用vuln排列数据集。上面实现了这一点,但在列表中的第一个数据帧上实现了这一点。我在猜测类似的事情:

apply(list1,2,function(x)list[x][1:31] %>% arrange(vuln))
但上述措施似乎并不奏效。也只是为了比较,我能看到一个相同的循环吗


谢谢

这将是
tidyverse
的方式:

library(dplyr)
library(purrr)
your_list <- list(head(iris),tail(iris))
your_list %>% modify(
  . %>% slice(1:3) %>% arrange(Sepal.Length))

# [[1]]
# # A tibble: 3 x 5
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# <dbl>       <dbl>        <dbl>       <dbl>  <fctr>
# 1          4.7         3.2          1.3         0.2  setosa
# 2          4.9         3.0          1.4         0.2  setosa
# 3          5.1         3.5          1.4         0.2  setosa
# 
# [[2]]
# # A tibble: 3 x 5
# Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
# <dbl>       <dbl>        <dbl>       <dbl>    <fctr>
# 1          6.3         2.5          5.0         1.9 virginica
# 2          6.7         3.3          5.7         2.5 virginica
# 3          6.7         3.0          5.2         2.3 virginica

你没有提供任何数据,所以这里是我的猜测
lappy(list1,函数(i){d1
lappy(list1,slice,1:31)%%>%lappy(arrange,vuln)
,仅使用管道和lappy。Vlo的答案似乎已经完成了这个技巧,非常简单。谢谢!谢谢……我认为上面的答案与Vlo的答案非常相似:)虽然使用了相同的函数,但我只在项目上循环了一次,他循环了两次,我使用了
purr
,因为它与管道符号配合得更好。不过,索托斯的解决方案会更快。
lapply(your_list,function(x) x[1:3,] %>% arrange(Sepal.Length))