由于 OP 没有提供最小的可重现示例,我们假设 summary.out 是一个数据框,因此我们可以使用 colnames() 函数来提取列名,一旦我们知道第一个的哪些元素行的值为TRUE。
这是一个可重现的示例,说明如何使用数据框第一行中的 TRUE / FALSE 值来提取其列名。
textData <- "v1,v2,v3,v4
TRUE,FALSE,TRUE,TRUE
FALSE,TRUE,FALSE,TRUE
TRUE,TRUE,TRUE,TRUE"
data <- read.csv(text=textData)
# select column names where first row = TRUE
colnames(data)[data[1,]==TRUE]
前面的代码行使用提取运算符的[ 形式从colnames() 函数的结果中提取所需的元素。
...和输出:
> colnames(data)[data[1,]==TRUE]
[1] "v1" "v3" "v4"
我们可以使用paste() 函数及其collapse = 参数将名称打印为由+ 符号分隔的单个对象。
# separated by + sign
paste(colnames(data)[data[1,]==TRUE],collapse = " + ")
...和输出:
> # separated by + sign
> paste(colnames(data)[data[1,]==TRUE],collapse = " + ")
[1] "v1 + v3 + v4"