首页
学习
活动
专区
工具
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
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券