首页
学习
活动
专区
工具
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)结构和需求进行调整。

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

相关·内容

R语言中 apply 函数详解

因此,PythonR中都有大量函数工具可以帮助我们完成这项任务,这一点也不奇怪。 今天,我们将使用R并学习R中转换数据时使用最广泛一组“apply”函数。...它仅数据函数作为基本参数: lapply(X, FUN) 让我们看一些例子: # define a list cart <- c("BREAD","BUTTER","MILK","COOKIES")...因此,当你提供一个向量作为输入时,tapply()会对向量每个子集执行指定操作。需要参数包括: tapply(X, INDEX, FUN) 其中INDEX表示要用于分隔数据因子。听起来耳熟吗?...我们item_qty向量item_cat向量分组,以创建向量子集。然后我们计算每个子集平均值。...现在,我们创建一个新变量,该变量包含V1列V3列乘积: mapply(function(x, y) x/y, df$V1, df$V3) ?

20.4K40

快速介绍Python数据分析库pandas基础知识代码示例

“软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要知识点。” ? 为了能够快速查找使用功能,使我们进行机器学习模型时能够达到一定流程化。...本例中,新行初始化为python字典,并使用append()方法将该行追加到DataFrame。...通常回根据一个或多个列值对panda DataFrame进行排序,或者根据panda DataFrame行索引值或行名称进行排序。 例如,我们希望学生名字升序排序。...更复杂一点,我们希望物理分数升序排序,然后化学分数降序排序。...假设我们想性别将值分组,并计算物理化学列平均值标准差。

8.1K20
  • 如何通过R语言制作BBC风格精美图片

    Free scales 可能已经在上表中注意到,人口相对较少大洋洲已经完全消失。默认情况下,构面较小数上使用固定轴比例。...最好始终较小数上使用相同y轴比例,以避免产生误导,但有时您可能需要为每个倍数分别设置这些值,我们可以通过添加参数scales =“ free”来实现。...大小重新排序栏 默认情况下,R字母顺序显示数据,但大小排列则很简单:只需将reorder()包装在要重新排列x或y变量周围,然后指定要变量 重新排序。 例如。...image.png 修改柱状图柱子顺序 有时,您需要以不字母顺序或大小重新排序方式对数据进行排序。...为了正确排序这些参数,需要在绘制图表之前设置数据因子水平,levels参数中指定要绘制类别的顺序: dataset$column <- factor(dataset$column, levels =

    13.1K10

    Apache Spark 2.2.0 中文文档 - SparkR (R on Spark) | ApacheCN

    (s) and using gapply or gapplyCollect(一个大 dataset 上通过 input colums(输入列)来进行 grouping(分组)并且使用 gapply... or gapplyCollect 来运行一个指定函数) gapply gapplyCollect 使用 spark.lapply 分发运行一个本地 R 函数 spark.lapply...从数据源创建 SparkDataFrames 常见方法是 read.df. 此方法加载文件路径和数据源类型,并且将自动使用当前活动 SparkSession....(s) and using gapply or gapplyCollect(一个大 dataset 上通过 input colums(输入列)来进行 grouping(分组)并且使用 gapply... spark.lapply 分发运行一个本地 R 函数 spark.lapply 类似于本地 R 中 lapply, spark.lapply 元素列表中运行一个函数,并使用 Spark 分发计算

    2.3K50

    【学习】用R集算器计算连续上涨5天股票

    思路:导入数据;过滤出上个月数据;按照股票代码分组;数据日期排序;计算出每天比上一天收盘价增长额;计算出连续正增长天数;过滤出正增长天数大于等于5那些股票。   ...只需要某个月交易数据。   A3:=A2.group(Code),股票代码分组。这R语言中split函数功能类似。点击该单元格可以右边看到计算结果: ?   ...06-22:由于R不能像集算器那样方便用~来操作每个分组,因此这里需要一个大循环,每次循环针对一个股票进行计算。   07:日期排序。...23:取出分组中代码,A9<-lapply(A8,function(x) x$Code[[1]]),如下图: ? ?   一些体会:   R集算器凭借自身能力都可以实现较复杂股票分析。...使用R来完成股票分析需要一定编程技巧和数学知识,这样才能灵活运行R各项功能。R还具备优秀扩展性,比如有针对股票第三方库函数统计图;再比如完全可以自己写一个更高效读取Excel函数。

    1.6K90

    XGBoostLightGBM

    显然,我们目标是要使得树群预测值 尽量接近真实值 ,而且有尽量大泛化能力。 所以,从数学角度看这是一个泛最优化问题,故把目标函数简化如下: 这个目标函数分为两部分:损失函数正则化项。...最后,找到一个特征最好分割点后,数据分裂成左右子节点。 这样排序算法优点是能精确地找到分割点。但是缺点也很明显:首先,空间消耗大。...实际上很多叶子分裂增益较低,没必要进行搜索分裂。LightGBM使用了带有深度限制叶子生长 (leaf-wise) 算法。...遍历数据时候,根据离散化后作为索引直方图中累积统计量,当遍历一次数据后,直方图累积了需要统计量,然后根据直方图离散值,遍历寻找最优分割点。...首先它抛弃了大多数GBDT工具使用层生长 (level-wise) 决策树生长策略,而使用了带有深度限制叶子生长 (leaf-wise) 算法。

    1.2K10

    一文教你如何全面分析股市数据特征

    特征重要性 通过多种方式对特征重要性进行评估,每个特征特征重要得分取均值,最后以均值大小排序绘制特征重要性排序图,直观查看特征重要性。...随机森林中某个特征X重要性计算方法如下: 对于随机森林中每一颗决策树, 使用相应OOB(袋外数据)数据来计算它袋外数据误差 ,记为 ....indices = np.argsort(importances)[::-1] # 重新排列特性名称,使它们与已排序特性重要性相匹配 names = [dataset.columns[i] for...它主要思想是不同数据子集特征子集上运行特征选择算法,不断重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征频率(被选为重要特征次数除以它所在子集被测试次数)。...平均得到创建DataFrame数据框,从高到低排序,并利用可视化方法结果展示出。

    2K30

    R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

    ,它输入参数计算结果都是数据框,用法相对简单。...base包里split功能接近函数有cut(对属性数据分划),strsplit(对字符串分划)以及subset(对向量,矩阵或数据框给定条件取子集)等。...其中 sapply 用法 lapply 区别只数上,如下: sp<-split(orders,orders[,c("SELLERID","CLIENT")],drop=TRUE) result1...")],function(x) sum(x)) 4、subset()函数 利用subset()函数进行访问选取数据框数据更为灵活,subset函数满足条件向量、矩阵和数据框子集方式返回。...使用data.table时候,需要预先布置一下环境: data<-data.table(data) 如果不布置环境,很多内容用不了。

    20.8K32

    比较(七)利用python绘制表格

    比较(七)利用python绘制表格 表格(Table)简介 表格是数据在行列中结构化排列,允许进行方便排序、过滤分析。表格优点在于可以清晰、有组织呈现信息,便于快速比较和解读信息。...自定义表格一般是结合使用场景对相关参数进行修改,并辅以其他绘图知识。...参数信息可以通过官网进行查看,其他绘图知识则更多来源于实战经验,大家不妨接下来绘图作为一种学习经验,以便于日后总结。...plt.title('绘制bar百分比') tab = Table(df, textprops={"ha": "center"}, column_definitions...=col_defs) plt.show() 总结 以上通过pandasstyler方法绘制独具风格表格,这里推荐使用plottable快速绘制表格,并通过相关方法参数自定义多样化表格。

    17210

    R语言中循环函数(Grouping Function)

    apply函数中,作为第4个参数: apply(m,1,sum,na.rm=TRUE) [1] 9 8 需要注意是如果是Data Frame,那么系统会将其转为Matrix,如果所有Column不是数字类型或者类型不一致...Lapply 前面说到apply是对于matrixarray,针对list,我们可以使用lapply函数。该函数接收list,返回结果也是一个list。...lapply返回结果传入List结构相同,传入多少个Item,返回也是多少个Item。...Sapply Sapply函数Lapply函数很类似,也是对List进行处理,只是返回结果上,Sapply会根据结果数据类型结构,重新构建一个合理数据类型返回。...USE.NAMES是对字符串数据处理时,是否使用字符串作为命名

    1.5K20

    pandas数据清洗,排序,索引设置,数据选取

    df.fillna({1:0,2:0.5}) #对第一列nan值赋0,第二列赋值0.5 df.fillna(method='ffill') #列方向上以前一个值作为值赋给NaN 值替换replace(...df.drop_duplicates(['k1','k2'], take_last=True)# 保留 k1k2 组合唯一值行,take_last=True 保留最后一行 ---- 排序 索引排序...# 默认axis=0,行索引对行进行排序;ascending=True,升序排序 df.sort_index() # 列名对列进行排序,ascending=False 降序 df.sort_index...(axis=1, ascending=False) 值排序 # 值对Series进行排序使用order(),默认空值会置于尾部 s = pd.Series([4, 6, np.nan, 2, np.nan...columns设置成索引index 打造层次化索引方法 # columns中其中两列:racesex值设置索引,race为一级,sex为二级 # inplace=True 原数据集上修改

    3.3K20

    翻译|给数据科学家10个提示技巧Vol.1

    该博客是由一群数据科学家运营,专注于讲解各种领域如何运用大数据技术(从机器学习人工智能到业务领域)。 1 引言 这一系列对数据科学世界中常见任务提供了一些代码作为参考。...本文主要涵盖 Python、R、Unix、Excel、GitDocker等语言提示(Tips)。这一期主要展示不同应用场景下10个提示。...57 85 3 3 79 94 38 4 75 71 58 我们可以行获取每一行最大值对应列名,如下所示: colnames(df)[max.col(df,ties.method="random...假设有以下列表: l = [(1,2), (4,6), (5,1), (1,0)] 我想元组第二个元素来排序: sorted(l, key=lambda t: t[1]) [(1, 0), (5...或者,也可以脚本作为python3 file.py运行。例如,假设文件.py是: #!

    46940

    「R」apply,lapply,sapply用法探索

    但是,由于R语言中apply函数与其他语言循环体处理思路是完全不一样,所以apply函数族一直是使用者玩不转一类核心函数。...我一般最常用函数为applysapply,下面分别介绍这8个函数定义使用方法。 2. apply函数 apply函数是最常用代替for循环函数。...3. lapply函数 lapply函数是一个最基础循环操作函数之一,用来对list、data.frame数据集进行循环,并返回X长度同样list结构作为结果集,通过lapply开头第一个字母’...,那么直接使用lapply就不能达到想要效果了。...4. sapply函数 sapply函数是一个简化版lapply,sapply增加了2个参数simplifyUSE.NAMES,主要就是让输出看起来更友好,返回值为向量,而不是list对象。

    4.5K32

    9个value_counts()小技巧,提高Pandas 数据分析效率

    生成Series可以降序或升序排序,通过参数控制包括或排除NA。 本文中,我们探讨 Pandas value_counts() 不同用例。您将学习如何使用它来处理以下常见任务。...默认参数 升序对结果进行排序 字母顺序排列结果 结果中包含空值 以百分比计数显示结果 连续数据分入离散区间 分组并调用 value_counts() 结果系列转换为 DataFrame 应用于DataFrame...: int64 3、字母顺序排列结果 我们已经学习了参数升序以获得值计数 ASC 或 DESC 排序结果。..., dtype: int64 5、以百分比计数显示结果 进行探索性数据分析时,有时查看唯一值百分比计数会更有用。...(),它返回一个以 num_legs num_wings 作为索引 MultiIndex 系列。

    6.6K61

    9个value_counts()小技巧,提高Pandas 数据分析效率

    生成Series可以降序或升序排序,通过参数控制包括或排除NA。 本文中,我们探讨 Pandas value_counts() 不同用例。您将学习如何使用它来处理以下常见任务。...1、默认参数 2、升序对结果进行排序 3、字母顺序排列结果 4、结果中包含空值 5、 以百分比计数显示结果 6、连续数据分入离散区间 7、分组并调用 value_counts() 8、结果系列转换为...: int64 3、字母顺序排列结果 我们已经学习了参数升序以获得值计数 ASC 或 DESC 排序结果。..., dtype: int64 5、以百分比计数显示结果 进行探索性数据分析时,有时查看唯一值百分比计数会更有用。...(),它返回一个以 num_legs num_wings 作为索引 MultiIndex 系列。

    2.4K20

    三阴性乳腺癌表达数据探索笔记之GSVA分析

    学徒学员已经陆续出师,是时候把生信技能树舞台交给后辈了!...如GSVA,SSGSEA, PGSEA GSVA与GSEA差别在于,这种方法不需要对基因进行排序,因此也意味着不需要首先进行其他统计学分析,如基因在样本之间表达差异,如变化倍数,然后根据变化值从高到低进行排序...只需要样本内基因排序,每个样本内部可以根据基因表达count值来进行排序,从而在样本内部是否有基因富集。针对每个样本进行分析。...ids$median=apply(dat,1,median) #对dat这个矩阵行操作,取每一行中位数,结果添加到ids矩阵median列 ids=ids[order(ids$symbol...') #所有GSVA得分差异显著结果保存为一个csv,便于检查 ?

    4.4K42
    领券