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

R dataframe使用跨/ all_of / mutate_if从现有列创建多个新列

R dataframe使用跨/ all_of / mutate_if从现有列创建多个新列。

在R语言中,可以使用dplyr包中的mutate()函数和tidyselect包中的across()、all_of()和mutate_if()函数来从现有列创建多个新列。

  1. 跨(across)函数: 跨函数用于选择多个列,并对这些列应用相同的操作。它接受一个或多个列名或选择器,并返回一个可以在mutate()函数中使用的选择器。例如,如果我们有一个名为df的数据框,其中包含列A、B和C,我们可以使用跨函数将这些列相加并创建一个新列D:
代码语言:txt
复制
library(dplyr)

df <- df %>%
  mutate(across(c(A, B, C), ~ .x + 1, .names = "D_{.col}"))

上述代码将对列A、B和C中的每个元素加1,并将结果存储在新创建的列D_A、D_B和D_C中。

  1. all_of()函数: all_of()函数用于在mutate()函数中引用一个或多个列名。它接受一个或多个列名,并返回一个可以在mutate()函数中使用的选择器。例如,如果我们有一个名为df的数据框,其中包含列A、B和C,我们可以使用all_of()函数将这些列相加并创建一个新列D:
代码语言:txt
复制
library(dplyr)

df <- df %>%
  mutate(D = A + B + C)

上述代码将对列A、B和C中的每个元素相加,并将结果存储在新创建的列D中。

  1. mutate_if()函数: mutate_if()函数用于根据条件选择特定类型的列,并对这些列应用相同的操作。它接受一个谓词函数和一个操作函数,并返回一个可以在mutate()函数中使用的选择器。例如,如果我们有一个名为df的数据框,其中包含数值型列和字符型列,我们可以使用mutate_if()函数将数值型列中的元素加1,并将结果存储在新创建的列中:
代码语言:txt
复制
library(dplyr)

df <- df %>%
  mutate_if(is.numeric, ~ . + 1)

上述代码将对所有数值型列中的每个元素加1,并将结果存储在相应的新创建列中。

总结: 使用跨/ all_of / mutate_if函数可以方便地从现有列创建多个新列。跨函数用于选择多个列并应用相同的操作,all_of函数用于在mutate()函数中引用列名,mutate_if函数用于根据条件选择特定类型的列并应用相同的操作。这些函数可以帮助我们在R中进行数据处理和转换操作。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云数据仓库 ClickHouse:https://cloud.tencent.com/product/ch
  • 腾讯云弹性MapReduce EMR:https://cloud.tencent.com/product/emr
  • 腾讯云云原生容器引擎 TKE:https://cloud.tencent.com/product/tke
  • 腾讯云云数据库 CDB:https://cloud.tencent.com/product/cdb
  • 腾讯云云服务器 CVM:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能 AI:https://cloud.tencent.com/product/ai
  • 腾讯云物联网 IoT Hub:https://cloud.tencent.com/product/iothub
  • 腾讯云移动开发 MSDK:https://cloud.tencent.com/product/msdk
  • 腾讯云对象存储 COS:https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务 TBC:https://cloud.tencent.com/product/tbc
  • 腾讯云元宇宙服务 TUS:https://cloud.tencent.com/product/tus
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

R语言第二章数据处理⑤数据框的转化和计算目录正文

正文 本篇描述了如何计算R中的数据框并将其添加到数据框中。一般使用dplyr R包中以下R函数: Mutate():计算变量并将其添加到数据表中。 它保留了现有的变量。...Transmutate():计算但删除现有变量。...Mutate_at()/ transmutate_at():将函数应用于使用字符向量选择的特定 Mutate_if()/ transmutate_if():将函数应用于使用返回TRUE的谓词函数选择的...mutate:通过保留现有变量来添加变量,通过保留现有来添加(sepal_by_petal): library(tidyverse) my_data <- as_tibble(iris) my_data...my_data %>% mutate(sepal_by_petal_l = Sepal.Length/Petal.Length) transmute:通过删除现有变量来创建变量,删除现有,添加

4.1K20

R」dplyr 列式计算

_if, _at, _all 「dplyr」 以前的版本允许以不同的方式将函数应用到多个使用带有_if、_at和_all后缀的函数。这些功能解决了迫切的需求而被许多人使用,但现在被取代了。...这使 「dplyr」 更容易使用(因为需要记住的函数更少),也使我们更容易实现的动词(因为我们只需要实现一个函数,而不是四个)。...这是由 base R 提供的,但它并没有很好的文档,我们花了一段时间才发现它是有用的,而不仅仅是理论上的好奇。 我们可以使用数据框让汇总函数返回多。...我们可以使用没有外部名称作为将数据框解包为单独的约定。 你如何转移已经存在的代码?...它们已经有选择语义,所以通常以与 across() 不同的方式使用,我们需要使用的 rename_with() 代替。

2.4K10
  • 手把手 | 如何用Python做自动化特征工程

    特征工程也称为特征创建,是现有数据构建特征以训练机器学习模型的过程。这个步骤可能比实际应用的模型更重要,因为机器学习算法只我们提供的数据中学习,然而创建与任务相关的特征绝对是至关重要的。...转换作用于单个表(Python角度来看,表只是一个Pandas 数据框),它通过一个或多个现有创建特征。 例如,如果我们有如下客户表。...我们使用以下语法将一个现有索引的实体添加到实体集中: # Create an entity from the client dataframe # This dataframe already has...转换:在单个表上对一或多执行的操作。一个例子是在一个表中取两个之间的差异或取一的绝对值。 在featuretools中使用这些基元本身或堆叠多个基元,来创建新功能。...聚合就是将深度特征合成依次将特征基元堆叠 ,利用了表之间的一对多关系,而转换是应用于单个表中的一个或多个的函数,多个表构建特征。

    4.3K10

    Pandas之实用手册

    用read_csv加载这个包含来自音乐流服务的数据的基本 CSV 文件:df = pandas.read_csv('music.csv')现在变量df是 pandas DataFrame:1.2 选择我们可以使用其标签选择任何...:使用数字选择一行或多行:也可以使用标签和行号来选择表的任何区域loc:1.3 过滤使用特定值轻松过滤行。...除了 sum(),pandas 还提供了多种聚合函数,包括mean()计算平均值、min()、max()和多个其他函数。1.6 现有创建通常在数据分析过程中,发现需要从现有创建。...(dic, orient='index')DataFrame叠加DataFrame"""append two dfs"""df.append(df2, ignore_index=True)叠加很多个DataFrame...)df['A'] """ will bring out a col """ df.ix[0] """will bring out a row, #0 in this case""" DataFrame

    18610

    基于Spark的机器学习实践 (二) - 初识MLlib

    公告:基于DataFrame的API是主要的API 基于MLlib RDD的API现在处于维护模式。 Spark 2.0开始,spark.mllib包中基于RDD的API已进入维护模式。...DataFrame的许多好处包括Spark数据源,SQL / DataFrame查询,Tungsten和Catalyst优化以及语言的统一API。...基于DataFrame的MLlib APIML算法和多种语言提供统一的API。 DataFrames有助于实用的ML管道,特别是功能转换。有关详细信息,请参阅管道指南 什么是“Spark ML”?...添加了OneHotEncoderEstimator,应该使用它来代替现有的OneHotEncoder转换器。 的估算器支持转换多个。...SPARK-16957:树算法现在使用中点来分割值。这可能会改变模型训练的结果。 SPARK-14657:修复了RFormula在没有截距的情况下生成的特征与R中的输出不一致的问题。

    3.5K40

    基于Spark的机器学习实践 (二) - 初识MLlib

    公告:基于DataFrame的API是主要的API 基于MLlib RDD的API现在处于维护模式。 Spark 2.0开始,spark.mllib包中基于RDD的API已进入维护模式。...DataFrame的许多好处包括Spark数据源,SQL / DataFrame查询,Tungsten和Catalyst优化以及语言的统一API。...基于DataFrame的MLlib APIML算法和多种语言提供统一的API。 DataFrames有助于实用的ML管道,特别是功能转换。有关详细信息,请参阅管道指南 什么是“Spark ML”?...添加了OneHotEncoderEstimator,应该使用它来代替现有的OneHotEncoder转换器。 的估算器支持转换多个。...SPARK-16957:树算法现在使用中点来分割值。这可能会改变模型训练的结果。 SPARK-14657:修复了RFormula在没有截距的情况下生成的特征与R中的输出不一致的问题。

    2.7K20

    可自动构造机器学习特征的Python库

    特征工程也被称为特征构造,是现有数据中构造的特征从而训练机器学习模型的过程。...特征工程基本概念 特征工程意味着现有的数据中构造额外特征,这些特征通常分布在多张相关的表中。特征工程需要从数据中提取相关信息并将其存入单张表格中,然后被用来训练机器学习模型。...另一方面,「聚合」是表实现的,并使用一对多的关联来对观测值分组,然后计算统计量。...转换:对一张表中一或多完成的操作。一个例子就是取一张表中两之间的差值或者取一的绝对值。 在特征工具中单独使用这些基元或者叠加使用这些基元可以构造的特征。...深度特征合成可以依次叠加特征基元:「聚合」,它们在多张表间的一对多关联中起作用,以及「转换」,是应用于单张表中一或多多张表中构造的特征的函数。

    1.9K30

    数据处理第2节:将转换为正确的形状

    转换:基础部分 您可以使用mutate()函数创建。 mutate中的选项几乎是无穷无尽的:你可以对普通向量做任何事情,可以在mutate()函数内完成。...在这些情况下,我们必须在给出round()指令之前添加需要为数字的条件,这可以使用mutate_if来完成。 通过使用mutate_if(),我们在管道中需要两个参数: 首先,它需要有关的信息。...如果我想在几分钟内完成,我可以使用mutate_at()并将包含的所有'sleep'包装在vars()中。 其次,我在飞行中创建一个函数,将每个值乘以60。...10.1 long ## 10 Roe deer 3.00 short ## # ... with 73 more rows 创建的离散...您指定列名称,然后指定要合并的,最后指定要使用的分隔符。

    8.1K30

    Fama French (FF) 三因子模型和CAPM模型分析股票市场投资组合风险收益可视化

    使用tempfile() 基础 R 中的 函数来创建一个名为 temp. 这是我们将放置压缩文件的地方。 temp <- tempfile() R 创建了一个名为的临时文件 temp 。...还将FF数据转换为十进制,并创建了一个名为R\_excess的,保存高于无风险利率的收益。...CAPM 使用简单的线性回归,而 FF 使用具有许多自变量的多元回归。因此,我们的 3 因子 FF 方程为 lm(R_excess ~ MKT_RF + SMB + HML。...ffdlrhd <- ffptoltus %>% do) %>% tidy(conf.level = .95) fdlyd %>% mutate_if %>% select...我们可以将这些结果通过管道传输到 ggplot() 并创建具有置信区间的系数散点图。我不想绘制截距,因此会将其代码流中过滤掉。 我们用errorbar添加置信区间。

    3.8K30

    Pandas中替换值的简单方法

    使用内置的 Pandas 方法进行高级数据处理和字符串操作 Pandas 库被广泛用作数据处理和分析工具,用于数据中清理和提取特征。 在处理数据时,编辑或删除某些数据作为预处理步骤的一部分。...这可能涉及现有创建,或修改现有以使它们适合更易于使用。为此,Pandas 提供了多种方法,您可以使用这些方法来处理 DataFrame 中所有数据类型的。...在这篇文章中,让我们具体看看在 DataFrame 中的中替换值和子字符串。当您想替换中的每个值或只想编辑值的一部分时,这会派上用场。 如果您想继续,请在此处下载数据集并加载下面的代码。...import pandas as pd df = pd.read_csv('WordsByCharacter.csv') 使用“替换”来编辑 Pandas DataFrame 系列()中的字符串...每当在值中找到它时,它就会字符串中删除,因为我们传递的第二个参数是一个空字符串。

    5.5K30

    资源 | Feature Tools:可自动构造机器学习特征的Python库

    特征工程也被称为特征构造,是现有数据中构造的特征从而训练机器学习模型的过程。...特征工程基本概念 特征工程意味着现有的数据中构造额外特征,这些特征通常分布在多张相关的表中。特征工程需要从数据中提取相关信息并将其存入单张表格中,然后被用来训练机器学习模型。...另一方面,「聚合」是表实现的,并使用一对多的关联来对观测值分组,然后计算统计量。...转换:对一张表中一或多完成的操作。一个例子就是取一张表中两之间的差值或者取一的绝对值。 在特征工具中单独使用这些基元或者叠加使用这些基元可以构造的特征。...深度特征合成可以依次叠加特征基元:「聚合」,它们在多张表间的一对多关联中起作用,以及「转换」,是应用于单张表中一或多多张表中构造的特征的函数。

    2.1K20

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除 用方法链分配 索引 / 选择 数据对齐和运算 转置 DataFrame 应用 NumPy 函数 控制台显示 DataFrame 属性访问和 IPython 代码补全 提取、添加...受 dplyr 的 mutate 启发,DataFrame 提供了 assign() 方法,可以利用现有创建。... 3.6 版开始,Python 可以保存 **kwargs 顺序。这种操作允许依赖赋值,**kwargs 后的表达式,可以引用同一个 assign() 函数里之前创建 。...要想编写支持 3.6 之前或之后版本的 Python 代码,传递 assign 表达式时,要注意以下两点: 更新现有 在同一个 assign 引用刚建立的更新 示例如下,更新 “A”,然后,在创建...重建索引介绍重建索引 / 遵循标签集的基础知识。 数据对齐和运算 DataFrame 对象可以自动对齐列与索引(行标签)的数据。与上文一样,生成的结果是和行标签的并集。

    1.8K20

    Pandas 2.2 中文官方教程和指南(一)

    下一步是创建一个的 conda 环境。conda 环境类似于一个允许您指定特定版本的 Python 和一组库的虚拟环境。终端窗口运行以下命令。...下一步是创建一个的 conda 环境。conda 环境类似于一个允许您指定特定 Python 版本和一组库的虚拟环境。终端窗口运行以下命令。...下一步是创建一个的 conda 环境。conda 环境类似于一个允许您指定特定 Python 版本和一组库的虚拟环境。终端窗口运行以下命令。...如何现有派生 如何计算摘要统计信息 如何重新设计表格布局 如何合并来自多个表的数据 如何轻松处理时间序列数据 如何操作文本数据 pandas 处理什么类型的数据...当特别关注表中位置的某些行和/或时,请在选择括号[]前使用iloc运算符。 使用loc或iloc选择特定行和/或时,可以为所选数据分配值。

    82510

    Pandas数据结构之DataFrame常见操作

    提取、添加、删除 用方法链分配 索引 / 选择 数据对齐和运算 转置 DataFrame 应用 NumPy 函数 控制台显示 DataFrame 属性访问和 IPython 代码补全 提取、添加...受 dplyr 的 mutate 启发,DataFrame 提供了 assign() 方法,可以利用现有创建。... 3.6 版开始,Python 可以保存 **kwargs 顺序。这种操作允许依赖赋值,**kwargs 后的表达式,可以引用同一个 assign() 函数里之前创建 。...要想编写支持 3.6 之前或之后版本的 Python 代码,传递 assign 表达式时,要注意以下两点: 更新现有 在同一个 assign 引用刚建立的更新 示例如下,更新 “A”,然后,在创建...重建索引介绍重建索引 / 遵循标签集的基础知识。 数据对齐和运算 DataFrame 对象可以自动对齐列与索引(行标签)的数据。与上文一样,生成的结果是和行标签的并集。

    1.3K40

    Pandas数据结构之DataFrame常见操作

    受 dplyr 的 mutate 启发,DataFrame 提供了 assign() 方法,可以利用现有创建。... 3.6 版开始,Python 可以保存 **kwargs 顺序。这种操作允许依赖赋值,**kwargs 后的表达式,可以引用同一个 assign() 函数里之前创建 。...要想编写支持 3.6 之前或之后版本的 Python 代码,传递 assign 表达式时,要注意以下两点: 更新现有 在同一个 assign 引用刚建立的更新 示例如下,更新 “A”,然后,在创建...x: x["A"] + 2) Python 3.5 或更早版本的表达式在创建 B 时引用的是 A 的“旧”值 [1, 1, 1]。...重建索引介绍重建索引 / 遵循标签集的基础知识。 数据对齐和运算 DataFrame 对象可以自动对齐列与索引(行标签)的数据。与上文一样,生成的结果是和行标签的并集。

    1.4K10

    Python文件计算Excel平均值、标准差并将结果保存为表格

    本文介绍基于Python语言,对一个或多个表格文件中多数据分别计算平均值与标准差,随后将多数据对应的这2个数据结果导出为的表格文件的方法。   首先,来看一下本文的需求。...现有2个.csv格式的表格文件,其每1表示1个变量,每1行则表示1个样本;其中1个表格文件如下图所示。   ...首先,使用pandas库导入了pd模块。   其次,使用pd.read_csv()函数2个.csv格式表格文件中读取数据。...然后,使用pd.DataFrame创建了一个的数据框data_new,其中包含了4数据:mean_RGB存储了data中计算得到的平均值,std_RGB存储了data中计算得到的的标准差;mean_NIR...最后,使用to_csv()函数将data_new保存到文件路径为mean_std.csv的.csv格式文件中,设置index=True表示将索引也保存到文件中。

    11210

    图解pandas的assign函数

    在我们处理数据的时候,有时需要根据某个进行计算得到一个,以便后续使用,相当于是根据已知得到,这个时候assign函数非常方便。下面通过实例来说明函数的的用法。...如果列名是不可调用的(例如:Series、标量scalar或者数组array),则直接进行分配 最后,这个函数的返回值是一个DataFrame数据框,包含所有现有和新生成的 导入库 import...peter 2 18 mike 在Python3.6+中,我们可以在同一个赋值中创建多个,并且其中一个还可以依赖于同一个赋值中定义的另一,也就是中间生成的可以直接使用: df.assign...col2 0 12 xiaoming 1 16 peter 2 18 mike 如果我们重新分配的是一个现有,那么这个现有的值将会被覆盖: df.assign(col1=df["col1"]...:BMI 总结 通过上面的例子,我们发现: 使用assign函数生成的DataFrame是不会改变原来的数据,这个DataFrame的 assign函数能够同时操作多个列名,并且中间生成的列名能够直接使用

    41220

    PySpark SQL——SQL和pd.DataFrame的结合体

    1)创建DataFrame的方式主要有两大类: 其他数据类型转换,包括RDD、嵌套list、pd.DataFrame等,主要是通过spark.createDataFrame()接口创建 文件、数据库中读取创建...以及对单列进行简单的运算和变换,具体应用场景可参考pd.DataFrame中赋值的用法,例如下述例子中首先通过"*"关键字提取现有的所有,而后通过df.age+1构造了名字为(age+1)的。...(若当前已有则执行修改,否则创建),第二个参数则为该取值,可以是常数也可以是根据已有进行某种运算得到,返回值是一个调整了相应列后的DataFrame # 根据age创建一个名为ageNew的...DataFrame基础上增加或修改一,并返回DataFrame(包括原有其他),适用于仅创建或修改单列;而select准确的讲是筛选,仅仅是在筛选过程中可以通过添加运算或表达式实现创建多个...,返回一个筛选DataFrame,而且是筛选多少列就返回多少列,适用于同时创建的情况(官方文档建议出于性能考虑和防止内存溢出,在创建时首选select) show:将DataFrame显示打印

    10K20
    领券