R语言中数据列除法操作疑问:保留指定列及单列修改方法
R数据集列运算与保留指定列的解决方案
一、保留"Visit"列,同时将"Dose"和"Count"列除以100
你之前的代码data_new=data[,2:ncol(data)]/100只提取了第2列到最后一列做运算,所以丢失了"Visit"列。以下是两种可行的解决方法:
基础R实现
直接复制原数据集后修改指定列,完整保留所有原有列:
# 复制原数据集到新对象 data_new <- data # 对目标列执行除法运算 data_new[, c("Dose", "Count")] <- data_new[, c("Dose", "Count")] / 100
tidyverse(dplyr)实现
如果习惯用tidyverse工具链,代码会更简洁直观:
library(dplyr) data_new <- data %>% mutate(Dose = Dose / 100, Count = Count / 100)
二、仅将"Dose"列除以100
同样提供两种实现方式:
基础R实现
data_new <- data # 直接修改Dose列 data_new$Dose <- data_new$Dose / 100 # 也可以用列索引(若Dose是第2列) # data_new[, 2] <- data_new[, 2] / 100
tidyverse(dplyr)实现
library(dplyr) data_new <- data %>% mutate(Dose = Dose / 100)
内容的提问来源于stack exchange,提问作者Afia A
相关产品推荐
相关产品推荐

