2012-03-02 13 views
-1

@BenBolkerこれは、私が望む出力の例です。私はそれができるのかどうか分かりません。タイムスタンプを持っていることによって示される正しいプレフィックス、および正しいcorrfixがあり、私はスクリプトが同じ行にすべてのものを印刷したいRの値をレイテンシ値に置き換える

各試験のために
CURRENT_FIX_START CURRENT_FIX_END identifier trialtype rotatedimaged 
    targetloc prefix corrfix errfix 


7 202 30 rotated stimN11of2.jpg left 231 254 0 
7 208 42 rotated stimN221of2.jpg left 451 245 0 
241 761 78 rotated stimW131-of2.jpg right 345 345 0 

に、(私が、待ち時間を取得する必要があります接頭辞からcorrfixまで測定)。古いデータ内では、タイムスタンプは異なる行で発生しました。私はこれを手動で行うことを考えていましたが、時間がかかり過ぎてしまいます。

答えて

0

テストされていないが、どのようにについて:

latency <- with(mydata,abs(CURRENT_FIX_START-CURRENT_FIX_END)) 
for (i in c("prefix","corrfix","errfix")) { 
    mydata[[i]] <- ifelse(mydata[[i]]==1,latency,0) 
} 
+0

どのようにハードそれがすべて0に置き換わることであろうう各列では、各試行のタイムスタンプだけを残しますか?各列には、各試行ごとにprefixとcorrfixの数値があります。しかし、もし私がこれをしたら、長さのミスマッチがあると思います。 –

+0

より具体的には、mydata [mydata $ prefix!= 0&mydata $ corrfix!= 0,1:18]と値が一致しますが、corrfixは別の行に返され、異なる値になります。私は同じ試行内で別の行に返された値をどのように得ることができるのか分かりません。したがって、1行のデータでは、プレフィックスの時間と各試行のcorrfixの時間がわかります。 –

+0

私はこれをどのように達成できるかについての洞察を提供できますか? –

0

あなたが適切なインデックス付けのために調整する必要がありますが、これは動作するようです:

#fake data 
dat <- data.frame(fix1 = runif(10), fix2 = runif(10), prefix = sample(0:1, 10, TRUE), 
        corfix = sample(0:1, 10, TRUE), errfix = sample(0:1, 10, TRUE)) 

dat[, 3:5] <- apply(dat[, 3:5], 2, function(x) ifelse(x == 1, abs(dat$fix1 - dat$fix2),x)) 
関連する問題