在r中生成信号组合及其输出的程序方法

在r中生成信号组合及其输出的程序方法,r,R,我一直在学习r如何从excel过渡,我想知道解决以下问题的最佳方法是什么,或者至少我可以使用哪些工具: 我有一个大的数据集(100K+行)和几个列,我可以生成一个信号关闭,向量中的每个值可以在0到3之间 sig1 sig2 sig3 sig4 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 2 2 0 1 2

我一直在学习r如何从excel过渡,我想知道解决以下问题的最佳方法是什么,或者至少我可以使用哪些工具:

我有一个大的数据集(100K+行)和几个列,我可以生成一个信号关闭,向量中的每个值可以在0到3之间

   sig1 sig2 sig3 sig4 
    1   1   1   1
    1   1   1   1
    1   0   1   1
    1   0   1   1
    0   0   1   1
    0   1   2   2
    0   1   2   2
    0   1   1   2
    0   1   1   2
        
我想使用四列中每个单元格的状态生成复合信号,然后查看每个复合信号在时间序列中告诉我的关于返回的信息。对于这个问题,范围只是生成组合

例如,当向量中的所有四个单元都=0时,一个复合信号就是。我可以生成一个新的列,当这种情况在另一种情况下为TRUE和false时,该列将读取TRUE,然后继续找出这会如何影响数据帧其余部分的返回

问题是我想检查四列的所有组合,所以0000,0001,0002,0003等等,这是相当多的。就我对r的了解而言,我只知道如何对每个组合使用
mutate()
,并显式输入要检查的条件。我想有更好的方法,但我还没有找到


谢谢你的帮助

我认为可以将列粘贴在一起以获得唯一的组合,然后将其转换为虚拟变量:

library(dplyr)
library(dummies)

# Create sample data
data <- data.frame(sig1 = c(1,1,1,1,0,0,0),
                   sig2 = c(1,1,0,0,0,1,1),
                   sig3 = c(2,2,0,1,1,2,1))

# Paste together
data <- data %>% mutate(sig_tot = paste0(sig1,sig2,sig3))

# Generate dummmies
data <- cbind(data, dummy(data$sig_tot, sep = "_"))

# Turn to logical if needed
data <- data %>% mutate_at(vars(contains("data_")), as.logical)  
data
库(dplyr)
图书馆(傻瓜)
#创建示例数据

哇,这真是太好了。有很多东西要学!谢谢你,伙计!所以我遇到的一个问题是,当一个或多个信号为0时,我想排除生成列。因此,如果sig1=0,则不生成列。将研究如何做到这一点。