让我们假设我将数据存储在一个简单的列表中。让我们调用这个列表A.我想写一个函数,我从列表中选择第2,第5和第10个项目,并创建一个带有该输出的新矩阵。例如,A<-(c(2,5,10))
表示我需要选择第2,第5和第10列来创建新矩阵。假设我想调用函数choosecol,其中choosecol(data,A)
返回输出矩阵,其值对应于第2,第5和第10位置。我(或者我应该)如何写一个使这成为可能的函数?
答案 0 :(得分:0)
没有必要为此编写功能。 data[, A]
应该这样做:
m <- matrix(1:20, ncol = 10)
m
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,] 1 3 5 7 9 11 13 15 17 19
# [2,] 2 4 6 8 10 12 14 16 18 20
A <- c(2, 5, 10)
m[, A]
# [,1] [,2] [,3]
# [1,] 3 9 19
# [2,] 4 10 20