我在一个月前发布了这个问题,在更新R和Rstudio之后,我现在遇到了同样的问题。
我正在寻找转换因素为水平的数字数据。
因此,普罗克斯专栏会写到:远,远,近,远,远。
我想给这些因素赋值,其中距离是1,近是2,On是3。
使用以下任何一种代码
levels(Prox) levels(Prox) <- c(1, 2, 3)
或
Prox_df <- Prox_df %>% mutate(Prox_df = case_when(Prox == "Far" ~ 3, Prox == "Near" ~ 2, Prox == "On" ~ 1))
导致了钠蓝子。
我已经尝试过为这些因素设置级别,但这并没有分配数字值。我需要用这个水平的数值作为序数模型。如果你有什么建议,请告诉我。谢谢。
发布于 2020-05-06 04:11:43
R基解决方案:
Prox_df$Prox <- as.integer(as.factor(Prox_df$Prox))使用@HNSKD的数据(谢谢):
Prox_df <- data.frame(Prox = c("Far", "Far", "Near", "On", "Far", "Near", "Far", "Far", "Near", "Far"),
stringsAsFactors = FALSE)发布于 2020-05-06 03:50:14
dplyr::case_when应该可以正常工作。
数据:
Prox_df <- data.frame(Prox = c("Far", "Far", "Near", "On", "Far", "Near", "Far", "Far", "Near", "Far"),
stringsAsFactors = FALSE)dplyr::case_when
Prox_df <- Prox_df %>%
mutate(Prox_df = case_when(Prox == "Far" ~ 1,
Prox == "Near" ~ 2,
Prox == "On" ~ 3))dplyr::recode
Prox_df <- Prox_df %>%
mutate(Prox_df = recode(Prox, "Far" = 1, "Near" = 2, On = 3))base::factor
Prox_df <- Prox_df %>%
mutate(Prox_df = factor(Prox, levels = c("Far", "Near", "On"), labels = 1:3, ordered = TRUE))https://stackoverflow.com/questions/61627002
复制相似问题