如果行值为true,则折叠R中的变量

如果行值为true,则折叠R中的变量,r,R,如果变量值为True,我想将一些变量折叠成单个变量 例如:数据集 A B C D E F F T F F.T.F F.T T F F F F 我正在寻找的输出 新变量 B C D A 如您所见,如果行值为true,我想用相应的列值替换它 谢谢,我们可以使用max.col根据真实值查找每行中的列名 i1 <- rowSums(df1) == 0 df1$New_variable <- names(df1)[max.col(df1, "first")] df1$New_vari

如果变量值为True,我想将一些变量折叠成单个变量

例如:数据集

  • A B C D E F
  • F T F
  • F.T.F
  • F.T
  • T F F
  • F F
我正在寻找的输出

  • 新变量
    • B
    • C
    • D
    • A
  • 如您所见,如果行值为true,我想用相应的列值替换它


    谢谢,

    我们可以使用
    max.col
    根据真实值查找每行中的列名

    i1 <- rowSums(df1) == 0
    df1$New_variable <- names(df1)[max.col(df1, "first")]
    df1$New_variable[i1] <- ""
    

    i1我们可以使用
    max.col
    根据真实值查找每行中的列名

    i1 <- rowSums(df1) == 0
    df1$New_variable <- names(df1)[max.col(df1, "first")]
    df1$New_variable[i1] <- ""
    
    i1使用
    any()

    df1 <- read.table(text='A B C D E F
               F T F F F F
                      F F T F F F
                      F F F T F F
                      T F F F F F
                      F F F F F F', header = TRUE)
    
    colnames(df1)[ (apply( df1, 2, any)) ]
    # [1] "A" "B" "C" "D"
    
    df1使用
    any()

    df1 <- read.table(text='A B C D E F
               F T F F F F
                      F F T F F F
                      F F F T F F
                      T F F F F F
                      F F F F F F', header = TRUE)
    
    colnames(df1)[ (apply( df1, 2, any)) ]
    # [1] "A" "B" "C" "D"
    
    df1