给定矩阵(m), 我想从它中删除由变化的向量给出的主题, 我试图做一个循环,但它只删除最后一个输入:
m= matrix(1:4,10,3);
changing_vector = c(2,1) or c(1,4) # etc..
for(j in 1:length(changing_vector))
{
a = subData[!(subData$subject== changing_vector [j]),]
}
有人知道它为什么不起作用?你有其他方法可以做到这一点吗?
先谢谢你的帮助,
-G。
答案 0 :(得分:0)
始终尝试发布可重现的示例,其他人可以看到您要执行的操作。也要非常精确,因为有时很难理解人们想要做什么(如你的情况)。
也许这可以帮助你实现目标:
m <- matrix(1:5, 15, 5)
vec <- c(x,y)
for(i in 1:nrow(m)){
z[i] <- any(m[i,] %in% vec)
}
m <- m[!x,]
答案 1 :(得分:0)
我感谢你的帮助,但是尽管它没有解决问题,我在这里做了什么:
# removing subjects who did not reach a performance> 70 % (for ex.- easier to # understand this way
subjectsTOremove= which((performance<70)
vector_poz = c();
for(j in 1:length(subjectsTOremove))
{
S_to_remove= subjectsTOremove[j]
a = data[!(data$subject== S_to_remove),]
aa = which(data$subid == subjectsTOremove[j])
vector_poz = c(vector_poz,aa)
}
# then this subjects rows are transformed in NaN and the NaN removed
data[vector_poz,]=NaN # this tranf allows to check visually the data out
data= data[complete.cases(data),]