【发布时间】:2021-07-19 12:21:35
【问题描述】:
我有一个数据框,其中包含有关主题、高度和高度单位的数据
subject <- c(1,2,3,4)
height <- c(100, 90, 56, 64)
height_unit <- c("cm", "cm", "inches", "inches")
complete_file <- data.frame(subject, height, height_unit)
基本上,只要 height_unit 等于英寸,我想做的就是将高度列乘以 2.54。到目前为止,这是我尝试过的:
vital_signs_clean <- vital_signs_clean %>%
group_by(subject_id) %>%
mutate(height = if(n_distinct(Height_Units == "inches", na.rm = TRUE) == 1), *2.54)
为此,我收到一条错误消息,指出代码中出现“意外的 'else'”。这是最好的方法还是有更好的建议?
【问题讨论】:
-
使用
ifelse-complete_file %>% mutate(height_in_cm = ifelse(height_unit == 'inches', height * 2.54, height))