두 가지 관련 질문이 있습니다. 먼저 벡터를 일정 간격으로 분할하고 각 간격 및 두 번째 함수에 어떻게 적용합니까, 일정 간격으로 벡터를 데이터 프레임으로 분할하는 방법 여기서 각 간격은 데이터 프레임의 행입니다. 첫 번째 질문은 이전에 물었고 rollapply()
을 zoo
에 사용하여 멋진 해결책이있는 것으로 나타 났지만 설치를 시도했을 때 zoo
은 R 3.1.1에 사용할 수 없다고 통보 받았습니다.벡터에 규칙 간격으로 함수 적용
나는 해결책을 가지고 있지만, 나는 그들을 작동시키기 위해 추가 색인 변수를 만들어야한다는 점이 마음에 들지 않습니다. 더 간단한 솔루션? 일정한 간격
d <- data.frame(Value=rnorm(1000,100,20), #create random values
y=factor(rep(1:100,each=10)), # create a group variable
t=factor(rep(1:10, 100))) # create an observation # variable numbering
# observation 1-10
data.frame(tapply(d$Value, FUN=mean, INDEX=d$y)) #take mean of observations by group
2 부 을 분할 dataframe으로 벡터에 함수를 적용
파트 1.
library(reshape2)
dcast(data=d, y~t, value.var='Value')
R 버전 3.1.1 (2014년 7월 10일) 플랫폼 : x86_64에-W64-mingw32/64 (64 비트) 당신의 그룹화 평균이 달성
'zoo' 건재, 난 그냥'install.packages'를 사용하여 동일한 아키텍처를 설치했습니다. http://cran.r-project.org/web/packages/zoo/index.html – jbaums
그리고 그것을 사용하는 방법은 다음과 같습니다 :'rollapply (d $ Value, width = 10, by = 10, FUN = 평균)'. 두 번째 질문에 관해서는 행렬이 모두 숫자 인 경우 행렬이 더 적절할 수 있습니다 :'m <- matrix (d $ Value, byrow = T, ncol = 10)'. 필요에 따라 as.data.frame을 래핑하십시오. 그런 다음'rowMeans (m)'을 사용하여 첫 번째 목표를 달성 할 수 있습니다. – jbaums
좋아, 나는 동물원을 다시 점검 할 것이다. 이 두 번째 솔루션은 정확히 내가 찾고있는 간단한 솔루션입니다! – TBP