[问题] Filter 的问题

楼主: elone (阿万师)   2015-07-15 15:05:33
不好意思 小弟是一个新入门的菜逼巴 平常只会写 C
小弟有一个要做多重 filter 的问题...
前言
事情是这样的 我们想针对不同的使用者与其不同的判断条件去删资料
ex
source file (因为变量很长所以用ABC 来代替)
tEyedata
C1 C2 C3
A 0 1 5
A 0 1 7
A 0 2 6
A 0 2 8
B 0 1 7
B 0 2 8
C 0 1 9
C 0 2 10
Filter file
pN
C1 C2 C3
A 0 1 6
A 0 2 7
B ...
C ..
...
我们要逐一比对 tEyedata C1 C2 和 pN C1 C2 是否有一样
  如果一样的话 再去看 tEyedata$C3 是否有 >= pN$C3
如果有的话 就会把这笔record 拿掉
如果没有的话 就会留下这笔 record
就结果来说应该 tEyedata 会变成
C1 C2 C3
A 0 1 5
A 0 2 6
B ..
但是我们的code 都会拿光光 QAQ ... 卡了2天了啊啊啊
#read prune file
tEyedata <- read.table("Eye.txt",header=T)
pN <- read.table("Eye/Eye_Prune.txt",header=T)
for(i in 1:nrows(tEyedata))
{
for(j in 1:nrows(pN))
{
if(tEyedata$subject[[i]] == pN$subejct[[j]] & C1 = C1 & D1 = D1 )
{
tEyedata <- subset(tEyedata, tEyedata$C3 <= pN$C3[[j]] )
}
}
}
但是他都会把不该拿掉的东西拿掉 我好苦恼啊
  希望有大大可以来救我
  谢谢
作者: andrew43 (讨厌有好心推文后删文者)   2015-07-15 15:21:00
我没看懂你的条件(不然的爆简单)。把条件说清楚?ABC有用吗? 没遇到A(0,1)又如何?说完整。
楼主: elone (阿万师)   2015-07-15 15:30:00
大大我改了说明 不知道这样有没有清楚一点 不好意思
作者: andrew43 (讨厌有好心推文后删文者)   2015-07-15 15:38:00
有 ,谢谢。
作者: celestialgod (天)   2015-07-15 17:54:00
主要错在C1 == C1 & D1 == D1吧,=跟==分不清楚还有不能取代tEyedata要另设变量储存结果 例如用空的list一取代之后,后面就不会有符合条件的结果当然最后的结果就是无东西

Links booklink

Contact Us: admin [ a t ] ucptt.com