从R

时间:2015-07-06 17:34:55

标签: r dataframe

我有以下数据框的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

1 个答案:

答案 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确保结果仍然是带有行和列名称的矩阵。