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

如何将含患者突变信息的单列DataFrame转换为多列标记格式

R语言:将单列突变数据转换为多列标记格式

原始数据

给定的初始DataFrame定义如下:

df <- data.frame(
  mutations = c('A497T', NA, 'C320T', 'A497T', NA, 'G621C', 'G621C')
)

实现方法

方法一:基础R(无需额外包)

先提取非NA的唯一突变类型,再逐列生成携带标记:

# 获取所有非NA的唯一突变类型
unique_mutations <- na.omit(unique(df$mutations))

# 生成新的DataFrame,匹配突变则标记"Yes",否则为NA
result_df <- as.data.frame(
  lapply(unique_mutations, function(mut) {
    ifelse(df$mutations == mut, "Yes", NA)
  })
)

# 设置列名为对应的突变类型
colnames(result_df) <- unique_mutations

方法二:tidyverse工具包(更简洁)

利用pivot_wider直接完成宽表转换:

library(tidyverse)

result_df <- df %>%
  # 为携带突变的行添加标记值"Yes"
  mutate(flag = "Yes") %>%
  # 按突变类型拆分列,未携带的位置填充NA
  pivot_wider(names_from = mutations, values_from = flag, values_fill = NA)

最终输出

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

> result_df
  A497T C320T G621C
1   Yes  <NA>  <NA>
2  <NA>  <NA>  <NA>
3  <NA>   Yes  <NA>
4   Yes  <NA>  <NA>
5  <NA>  <NA>  <NA>
6  <NA>  <NA>   Yes
7  <NA>  <NA>   Yes

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:44:57