向量分类&;R中的赋值
这可能是一个非常简单的问题,但我在任何地方都找不到答案。我有一个基本的数据框架:向量分类&;R中的赋值,r,if-statement,vector,categorization,R,If Statement,Vector,Categorization,这可能是一个非常简单的问题,但我在任何地方都找不到答案。我有一个基本的数据框架: somedf <- data.frame(ageGroup = c("Under10", "Over10", "Over50", "Over100"), favColor = c("red", "pink", "purple", "blue")) ageGroup favColor 1 Under10 red 2
somedf <- data.frame(ageGroup = c("Under10", "Over10", "Over50", "Over100"),
favColor = c("red", "pink", "purple", "blue"))
ageGroup favColor
1 Under10 red
2 Over10 pink
3 Over50 purple
4 Over100 blue
somedf尝试使用一个垂直条而不是两个(即ifelse(somedf$ageGroup==“10岁以下”| somedf$ageGroup==“10岁以上”,3,4)
)从?“| |”
中可以了解到这一差异:较短的形式执行元素级比较的方式与算术运算符基本相同。较长的表单从左到右计算,只检查每个向量的第一个元素。
准确地说,例如somedf$ageGroup3也可以看到这一点。
somedf$ageGroup2 <- ifelse(somedf$ageGroup == "Under10", 1, 2 )
ageGroup favColor ageGroup2
1 Under10 red 1
2 Over10 pink 2
3 Over50 purple 2
4 Over100 blue 2
somedf$ageGroup3 <- ifelse(somedf$ageGroup == "Under10" ||
somedf$ageGroup == "Over10" , 3, 4 )
ageGroup favColor ageGroup2 ageGroup3
1 Under10 red 1 3
2 Over10 pink 2 3
3 Over50 purple 2 3
4 Over100 blue 2 3