【问题标题】:new matrix of select columns R选择列 R 的新矩阵
【发布时间】:2013-11-24 10:02:19
【问题描述】:

说你有R

m = matrix(0, 10, 5, dimnames = list(
                                    c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J"), 
                                    c(1, 2, 3, 4, 5)))
m[1,] = c(0,0,0,0,1)
m[2,] = c(0,0,0,1,1)
m[3,] = c(0,0,1,1,1)
m[4,] = c(0,0,1,1,0)
m[5,] = c(1,0,0,0,0)
m[6,] = c(1,1,1,0,0)
m[7,] = c(0,1,1,0,0)
m[8,] = c(0,1,1,0,0)
m[9,] = c(0,1,1,1,0)
m[10,] = c(1,1,1,0,1)

在上面你看到矩阵 m。我有另一个矩阵 p 这样:

p = matrix(0, 1, 5, dimnames = list(
                                    c("A"), 
                                    c(1, 2, 3, 4, 5)))
p[1,] = c(0.2,0.03,0.2,0.01,1)

我有一个带有特定值(p 值)的矩阵,只有一列。 我想从 m 创建一个新矩阵,但只有在 p 中该列的值是 的列

所以基本上,我想要在 R 中:

for (i in 1:length(p){
    if (p[1,i] < 0.05){
        #remember i in a list to extract later?
        mycols.append(i)
}}

myNewMat <- matrix[,mycols]

谢谢

【问题讨论】:

  • 请查看link。一个良好的可重复示例将帮助其他人更轻松地解决您的问题。

标签: r matrix filter


【解决方案1】:

试试下面的,看看是不是你想要的。

myNewMat <- m[,p < 0.05]

【讨论】:

  • 嗨,感谢您的回复,但这给出了错误:找不到对象'i'
  • @StudentOfScience 我更新的答案是否给了你想要的东西?
猜你喜欢
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 2022-06-27
  • 2018-09-25
  • 2020-02-08
  • 1970-01-01
相关资源
最近更新 更多