2014-07-17 4 views
0

여러 열이 포함 된 .csv 파일이 있지만 두 열 (TIME 및 USER)에만 관심이 있습니다. USER 열은 청크의 값 표시 자 1 또는 2로 구성되며 TIME 열은 초 단위의 값으로 구성됩니다. USER 열의 청크에서 첫 번째 2의 TIME 값과 USER 열의 청크에서 첫 번째 1 사이의 차이를 계산하려고합니다. R을 통해이 작업을 수행하고 싶습니다. 이러한 차이가있는 데이터 파일에 다른 열을 추가하는 것이 이상적입니다. read.csv ("/ 사용자/alinazjoo/문서/Latency_allgaze.csv")를R의 동일한 .csv 파일의 다른 열에서 값 표시 자 (ex.1 또는 2)를 기반으로하는 열 값의 차이를 계산하는 방법.

+0

질문에 [샘플 데이터] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 포함 시키면 훨씬 쉬울 것입니다. 그 방법에 대한 팁은 해당 링크의 대답을 읽으십시오. – MrFlick

답변

0

같아요거야 -

지금까지 난 단지 R.에

대기 시간 <을 .CSV를 가져 왔습니다 이

# sample data 
set.seed(15) 
rr<-sample(1:4, 10, replace=T) 
dd<-data.frame(
    user=rep(1:5, each=10), 
    marker=rep(rep(1:2,10), c(rbind(rr, 5-rr))), 
    time=1:50 
) 

이 그럼 당신은 기본 기능 aggregatetransform를 사용하여 차이를 계산할 수처럼 데이터가 보인다. 우리는 2 종 마커 각각에 대한 최소한의 시간을 찾기 위해 골재를 사용

namin<-function(...) min(..., na.rm=T) 
dx<-transform(aggregate(
    cbind(m2=ifelse(marker==2,time,NA), m1=ifelse(marker==1, time,NA)) ~ user, 
    dd, namin, na.action=na.pass), 
    diff = m2-m1)  
dx 

# user m2 m1 diff 
# 1 1 4 1 3 
# 2 2 15 11 4 
# 3 3 23 21 2 
# 4 4 35 31 4 
# 5 5 44 41 3 

관찰, 우리는 그들 사이의 차이를 계산 변환을 사용합니다.