Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Sorting_Analytics - Fatal编程技术网

R 按元素的特征对列表中的元素进行排序

R 按元素的特征对列表中的元素进行排序,r,sorting,analytics,R,Sorting,Analytics,假设我有一个表格列表。每个表的一列被命名并包含NA值计数。例如,下例中的对象“e”在其最后一列中显示频率为2: a <- seq(1:5) b <- c(NA,1,2,4,NA) c <- a %>% data.frame(.,b) d <- table(c[1], useNA = "always") e <- table(c[2], useNA = "always") f <- list(d, e) a根据描述,我们可以在列表('f')的元素上循环

假设我有一个表格列表。每个表的一列被命名并包含NA值计数。例如,下例中的对象“e”在其最后一列中显示频率为2:

a <- seq(1:5)
b <- c(NA,1,2,4,NA) 
c <- a %>% data.frame(.,b)
d <- table(c[1], useNA = "always")
e <- table(c[2], useNA = "always")
f <- list(d, e)

a根据描述,我们可以在
列表('f')的元素上循环,使用NA作为名称对元素进行子集,
顺序
递减,并使用该索引对'f'进行重新排序

f1 <- f[order(-sapply(f, function(x) x[is.na(names(x))]))]
identical(f1, list(e,d))
#[1] TRUE

f1这个问题很难理解。我已经尽可能改进了拼写和格式。我还删除了不相关的评论。然而,我不明白所有破折号(
---
)的含义,也不明白你所说的“现在我只是在使用一个很容易定制的哑冒泡排序,但它有点伤人,我希望以后能发现同样的问题。”你能澄清你的评论并编辑你的问题来遵守这一点吗:虚线只是用来模仿人们将看到的输出到控制台的内容。好的,但我认为不是在R中。这就是我感到困惑的部分原因。如果你阅读链接的资源,我会用空格代替。我意识到这很难理解,因为它非常复杂。我的意思是如果我们忘记了这个上下文“如何根据我可以实现的比较对列表进行排序,在本例中,将根据子列表中的元素进行排序。另外,这是否意味着在C风格的语言中,使用重载和类定义所做的大多数事情都是通过函数式编程完成的,在本例中,使用逻辑索引,在
R
中的R?@SolipsistElvis中,许多函数都是矢量化的,因此代码编写部分更容易。