我有以下数据框的p值:
> newcor
i1 i4 i3 i2
i1 NA 0 0 0
i4 0 NA 0 0
i3 0 0 NA 0
i2 0 0 0 NA
我还有以下相应的字符串:
> newDV
[1] "i1"
> newIV
[1] "i4" "i3" "i2"
我正在尝试编写自动化代码的代码,以便返回一个数据框,其中newDV作为唯一的行,newIV作为相应的列,例如:
> newcor
i1 i4 i3 i2
i1 NA 0 0 0
如果可能的话,我还希望将newDV与newDV一起删除,以便最终结果是:
> newcor
i4 i3 i2
i1 0 0 0
答案 0 :(得分:2)
看起来你的数据是一个矩阵
set.seed(1)
m <- diag(4)
dimnames(m) <- list( sample(letters[1:4]), sample(LETTERS[1:4]) )
# A C B D
# b 1 0 0 0
# d 0 1 0 0
# c 0 0 1 0
# a 0 0 0 1
如果是这样,只需使用[
来分组:
myrows = "c"
mycols = c("B","A")
m[myrows, mycols, drop=FALSE]
# B A
# c 1 0
drop=FALSE
确保结果仍然是带有行和列名称的矩阵。