我有n个因子,并将这些因子的n(n-1)/ 2个组合作为矩阵中的列。现在,我想分配列的名称,因为每个名称都向我展示了这两个因素的结合。这就是我写的但是错误是“双名的长度不等于数组内容”。您会提出什么建议?
for (i in 1:ncol(X_ok)) {
for (j in i:ncol(X_ok)) {
if(i == j){
next
}
colnames(out_or)<-paste0(colnames(X_ok)[i],colnames(X_ok)[j], sep='*')
}
}
答案 0 :(得分:0)
您可以很容易地生成X_ok
的所有可能组合,而无需使用for
循环:
X_ok <- LETTERS[1:5] # as an example
combinations <- combn(X_ok, 2)
然后,您可以按列将输出连接起来,以用*
分隔新名称:
colnames(out_or) <- apply(combinations, 2, paste, collapse = "*")
答案 1 :(得分:0)
这是我使用tidyverse的crossing()的方法。
<input type="radio" ... [(ngModel)]="project.stoerungBlinkend" [value]="true" />
<input type="radio" ... [(ngModel)]="project.stoerungBlinkend" [value]="false" />
如果您不习惯apply()语法,可能会更容易阅读。