R 如何迭代多个向量
对R来说是相当新的。已经在这方面工作了一段时间,但似乎无法让它工作。我正在尝试创建一个名为R 如何迭代多个向量,r,loops,vector,R,Loops,Vector,对R来说是相当新的。已经在这方面工作了一段时间,但似乎无法让它工作。我正在尝试创建一个名为peo$Tier的列。它有三个级别,(“1”、“2”、“3”) ifelse是矢量化的,当您比较多个值时,使用%中的%而不是= 所以在这种情况下你可以 peo$Tier <- with(peo, ifelse(NAMED.INSURED %in% tier1, 1, ifelse(NAMED.INSURED %in% tier2, 2, 3))) 我们还
peo$Tier
的列。它有三个级别,(“1”、“2”、“3”)
ifelse
是矢量化的,当您比较多个值时,使用%中的%而不是=
所以在这种情况下你可以
peo$Tier <- with(peo, ifelse(NAMED.INSURED %in% tier1, 1,
ifelse(NAMED.INSURED %in% tier2, 2, 3)))
我们还可以使用算术来重新编码这些值
peo$Tier <- with(peo, as.integer(factor(1 + 2* NAMED.INSURED %in% tier1 +
4 * NAMED.INSURED %in% tier2)))
peo$Tier
peo$Tier <- with(peo, ifelse(NAMED.INSURED %in% tier1, 1,
ifelse(NAMED.INSURED %in% tier2, 2, 3)))
library(dplyr)
peo %>%
mutate(Tier = case_when(NAMED.INSURED %in% tier1 ~ 1,
NAMED.INSURED %in% tier2 ~ 2,
TRUE ~3))
peo$Tier <- with(peo, as.integer(factor(1 + 2* NAMED.INSURED %in% tier1 +
4 * NAMED.INSURED %in% tier2)))