gpt4 book ai didi

r - 如何在R中合并两个true/false变量?

转载 作者:行者123 更新时间:2023-12-03 16:41:29 25 4
gpt4 key购买 nike

我在data.frame中有以下四个变量,该变量持续数千行:

One      Two      Three    Four 

TRUE TRUE FALSE FALSE
FALSE TRUE TRUE TRUE
TRUE FALSE FALSE TRUE
TRUE TRUE TRUE FALSE
FALSE TRUE FALSE TRUE
FALSE FALSE TRUE FALSE
TRUE FALSE FALSE TRUE
我想创建两个新变量,一个合并第一和第二列,第二合并第三和第四列。因此,如果两列中的任何一个或两个都显示为TRUE,则每个新列都将显示TRUE,而如果两个列都为false,则每个新列将显示FALSE。结果数据如下所示:
One      Two      OneTwo     Three    Four    ThreeFour

TRUE TRUE TRUE FALSE FALSE FALSE
FALSE TRUE TRUE TRUE TRUE TRUE
TRUE FALSE TRUE FALSE TRUE TRUE
TRUE TRUE TRUE FALSE FALSE FALSE
FALSE FALSE FALSE FALSE TRUE TRUE
FALSE FALSE FALSE TRUE FALSE TRUE
TRUE FALSE TRUE FALSE TRUE TRUE
任何帮助将非常感激。我已经浏览了其他一些问题,但是找不到具体的操作方法。

最佳答案

使用dplyr包,您可以执行以下操作:

library(dplyr)
data <- data %>% mutate(
OneTwo = as.logical(One + Two),
ThreeFour = as.logical(Three + Four))
这是可行的,因为 TRUEFALSE实际上已由计算机保存为1和0。然后,R将大于0的值编码为 TRUE。为了更加“正确”,您还可以使用以下代码在将0和1转换为逻辑之前取回0和1:
library(dplyr)
data <- data %>%
mutate(
OneTwo = as.logical(pmax(One, Two)),
ThreeFour = as.logical(pmax(One, Two)))

关于r - 如何在R中合并两个true/false变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62969379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com