s*******f 发帖数: 148 | 1 我想删掉一个矩阵的第1,4,7,...,p-2列,想做一个loop,写出一个逗号分隔的字符串
为1,4,7,...p-2,比如叫m,这样可以用A<-A[,-c(m)]一次性把这些列都删掉,请问应
该用什么function来写这个字符串呢@@
因为不知道该用什么,所以现在比较笨地写了loop从p-2列删起,每个循环删一列。。
。虽然是可以用,但是感觉有点囧呵呵。。。
谢谢!:) | L**********A 发帖数: 7115 | 2 你那个数列有规律吗?可以考虑用 seq()
【在 s*******f 的大作中提到】 : 我想删掉一个矩阵的第1,4,7,...,p-2列,想做一个loop,写出一个逗号分隔的字符串 : 为1,4,7,...p-2,比如叫m,这样可以用A<-A[,-c(m)]一次性把这些列都删掉,请问应 : 该用什么function来写这个字符串呢@@ : 因为不知道该用什么,所以现在比较笨地写了loop从p-2列删起,每个循环删一列。。 : 。虽然是可以用,但是感觉有点囧呵呵。。。 : 谢谢!:)
| D*******a 发帖数: 207 | 3 你不需要建立一个逗号分割的字符串;你需要的就是个vector,
比方x=c(1,4,7,...,p-2)这样的东西,然后A[,-x]就行了。例子:
A=c(1,2,3,4,5,6,7,8)
dim(A)=c(2,4)
x=c(1,4)
A[-x] | s*******f 发帖数: 148 | 4 really@@? that sounds nice@@
so it means something like this will work, right?
x<-NULL
for (i in 0:9) {
x[1]<-3*i+1
}
A2<-A[,-x]
【在 D*******a 的大作中提到】 : 你不需要建立一个逗号分割的字符串;你需要的就是个vector, : 比方x=c(1,4,7,...,p-2)这样的东西,然后A[,-x]就行了。例子: : A=c(1,2,3,4,5,6,7,8) : dim(A)=c(2,4) : x=c(1,4) : A[-x]
| s*******f 发帖数: 148 | 5 yea it has. i'll try seq() when I go back, dun have R on this computer right
now.
Thank you:)
【在 L**********A 的大作中提到】 : 你那个数列有规律吗?可以考虑用 seq()
| c*****m 发帖数: 4817 | 6 very simple, don't need 逗号分隔的字符串, don't need loop.
# what is p? A的total列数? if so, then p=dim(A)[2]
>m = seq(1,p-2,by=3)
>A = A[,-m]
【在 s*******f 的大作中提到】 : 我想删掉一个矩阵的第1,4,7,...,p-2列,想做一个loop,写出一个逗号分隔的字符串 : 为1,4,7,...p-2,比如叫m,这样可以用A<-A[,-c(m)]一次性把这些列都删掉,请问应 : 该用什么function来写这个字符串呢@@ : 因为不知道该用什么,所以现在比较笨地写了loop从p-2列删起,每个循环删一列。。 : 。虽然是可以用,但是感觉有点囧呵呵。。。 : 谢谢!:)
|
|