如何基于R中的两个分类值创建一个新变量?

时间:2020-08-19 10:19:51

标签: r mutate

我有一个婚姻状态变量,可能的值为“已婚”,“离婚”,“丧偶”,“分居”,“从未结婚”,“未婚夫妇的一部分”。

我希望创建一个名为 single 的新变量,如果 marital 是“已婚”或“未婚夫妇的一部分”,则将其分类为“非单身” ”,否则为“单”。

正在考虑以下类似内容,但是使用某种OR运算符,即“已婚”或“未婚夫妇的一部分”。

table1

我对R很陌生,希望有人能提供帮助。感谢您的宝贵时间!

1 个答案:

答案 0 :(得分:0)

您已经找到了一个好的解决方案,但是由于您特别询问了or运算符,因此在R中为|

dataset <- dataset %>%

mutate(single = ifelse( marital == "Married" | marital == "Part of an unmarried couple",
                        "Not single", 
                        "single")

请注意,其|而非||

&和&&表示逻辑AND和|和||表示逻辑或。的 较短的形式执行元素比较的方式与 算术运算符。较长的表格从左到右求值 仅检查每个向量的第一个元素。评估收益 仅在确定结果之前。较长的形式是合适的 用于编程控制流,通常在if子句中优先使用。

(从https://stat.ethz.ch/R-manual/R-devel/library/base/html/Logic.html复制)