You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中批量生成反值列(anticolumns)的实现方法

使用dplyr批量生成反值列

示例数据构造

先构建符合需求的示例数据框:

library(dplyr)

df <- tibble(
  Gene1 = c(1, 1, 0),
  Gene2 = c(0, 1, 0),
  Gene3 = c(1, 0, 1)
)

核心解决方案代码

利用dplyr的mutate结合across,可以一次性处理所有列,生成带_wt后缀的反值列:

df_result <- df %>%
  mutate(across(everything(), ~ 1 - ., .names = "{.col}_wt"))

代码说明

  • across(everything()):选中数据框内所有列,适配数百列的批量处理场景
  • ~ 1 - .:对每一列的每个元素计算反值(适配原数据为0/1的情况)
  • .names = "{.col}_wt":定义新列命名规则,自动在原列名后添加_wt后缀

输出结果

运行代码后得到的结果如下:

print(df_result)
# # A tibble: 3 × 6
#   Gene1 Gene2 Gene3 Gene1_wt Gene2_wt Gene3_wt
#   <dbl> <dbl> <dbl>    <dbl>    <dbl>    <dbl>
# 1     1     0     1        0        1        0
# 2     1     1     0        0        0        1
# 3     0     0     1        1        1        0

内容的提问来源于stack exchange,提问作者Aryh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 20:51:04