首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在将df和column作为输入的函数上使用lapply -按百分比重新排序

,可以使用以下步骤:

  1. 首先,确保你已经导入了所需的R包,例如dplyr和tidyverse。
  2. 创建一个自定义函数,该函数将按照指定的列(column)对数据框(df)进行重新排序。函数的输入参数应包括df和column。
  3. 在函数内部,使用dplyr包中的arrange()函数对数据框进行排序。按照指定的列(column)进行排序,并使用desc()函数以降序方式排序。
  4. 接下来,计算每个观测值在指定列(column)中的百分比。可以使用mutate()函数和percent_rank()函数来实现这一点。percent_rank()函数将为每个观测值计算其在指定列(column)中的百分比排名。
  5. 最后,使用lapply()函数将自定义函数应用于数据框(df)的每个列(column)。这将返回一个包含重新排序后的数据框的列表。

以下是一个示例代码:

代码语言:txt
复制
library(dplyr)
library(tidyverse)

# 自定义函数
reorder_by_percent <- function(df, column) {
  df <- df %>%
    arrange(desc({{ column }})) %>%
    mutate(percent_rank = percent_rank({{ column }}))
  
  return(df)
}

# 使用lapply应用函数到df的每个列
reordered_dfs <- lapply(df, function(x) reorder_by_percent(df, x))

在这个示例中,我们创建了一个名为reorder_by_percent的自定义函数,该函数接受数据框(df)和列(column)作为输入参数。函数内部使用dplyr包中的函数对数据框进行排序和计算百分比排名。然后,我们使用lapply()函数将自定义函数应用于数据框(df)的每个列(column),并将结果存储在reordered_dfs列表中。

请注意,这只是一个示例代码,具体的实现可能会根据你的数据框(df)结构和需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券