[英]conditionally rename variable by using dplyr
问题如下:
创建一个新变量,当房屋类型为 House 时,其值为 1,如果类型为 Penthouse,则为 2,如果类型为 Flat / Apartment 或 Studio,则为 3,否则为 0。 对新变量使用 table() 函数。
变量 House type 包含以下唯一值:“House”、“Flat/Apartment”、“new development”、“duplex”、“Penthouse”、“studio”、“bungalow”、“Mews”。
有人现在需要哪个 dplyr 函数来解决这个问题吗?
您可以使用case_when()
,然后使用count()
df %>%
mutate(new_var = case_when(
House=="House"~1,
House=="Penthouse"~2,
House %in% c("Flat/Apartment","Studio")~3,
TRUE~0)) %>%
count(new_var)
指定factor
和levels
可能会更容易
v1 <- with(df, as.integer(factor(House, levels = c("House",
"Penthouse", "Flat/Apartment", "Studio"))))
v1[is.na(v1)] <- 0
v1[v1 == 4] <- 3
table(v1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.