如何转换R语言dataframe格式,将E/S/G标记列转为Class分类列
实现方法
以下提供两种常用的可直接运行的实现方式:
方法1:基础R实现
# 提取E/S/G列中值为1的对应列名作为Class列 df$Class <- apply(df[, c("E", "S", "G")], 1, function(x) names(x)[x == 1]) # 仅保留需要的texts和Class列 result <- df[, c("texts", "Class")]
方法2:tidyverse(dplyr)实现
library(dplyr) result <- df %>% rowwise() %>% # 匹配取值为1的分类列名 mutate(Class = c("E", "S", "G")[which(c(E, S, G) == 1)]) %>% ungroup() %>% # 筛选目标列 select(texts, Class)
运行后得到的result就是你需要的输出格式。
内容的提问来源于stack exchange,提问作者Rollo99
相关产品推荐
相关产品推荐

