Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何迭代多个向量_R_Loops_Vector - Fatal编程技术网

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))) 我们还

对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 <- 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)))