我尝试在R中编写一个函数,将以不同单位输入的高度转换为厘米。
在数据帧中,高度以厘米(例如175),米(例如1.83)或英尺和英寸(例如5英尺4,甚至5英尺9.5)输入。 我需要做的是将包含字符(" ft"或"。")的因子转换为整数,但我不知道如何实际处理它。
任何帮助都非常受欢迎:)
答案 0 :(得分:0)
这可能有用。
library(dplyr)
library(stringr)
df <- tibble(measurementType = c("feet", "cm", "m"), height = c("5ft8.5", 175, 1.83))
df %>% mutate(height = ifelse(measurementType == "feet",
as.numeric(unlist(str_split(height, "ft"))[1]) * 12 + as.numeric(unlist(str_split(height, "ft"))[2]),
as.numeric(height))) %>%
mutate(heightInCm = case_when(measurementType == "feet" ~ height * 2.54,
measurementType == "m" ~ height * 100,
TRUE ~ height))