2014-01-21 6 views
1

공간 시간 데이터가 있습니다. 425 일 동안 36 개의 측정 스테이션을 매일 측정했습니다. 나는 R에서 이러한 데이터에 몇 가지 분석을하고 싶은, 그래서 난 그냥 다음과 같다 데이터로부터 데이터 프레임 생성 : 스테이션 X10004, X10007 각각에 대해 space-wide data frame in R공간 범위 데이터 프레임을 만드는 방법 R

을 ... 나는이 위도/경도 값을 사용하지만 이러한 정보를 데이터 프레임에 올바르게 추가하여 R의 사용 가능한 분석 도구를 사용하는 방법을 모르겠습니다.

어떻게 수행 할 수 있습니까? 아니면 R의 다른 데이터 구조 가능성을 사용해야합니까?

+2

문제가 구체적이지 않습니다. 특정 분석에 대해 알려주십시오. 서로 다른 분석에는 서로 다른 구조가 필요합니다. 또한'data.frame'의 이미지를 붙여 넣는 대신'head (dput (tempdata)) '를 사용하여 붙여 넣어서'data.frame'을 쉽게 다시 만들 수 있습니다. – nograpes

답변

3

데이터를 긴 형식으로 녹여서 병합해야합니다. 당신이 그 일을 한 후에는,이 경우 ddply/data.table/ggplot

library(reshape2) 
res <- merge(
    melt(df, id.vars="date"), 
    lat.lon, 
    by.x="variable", by.y="loc.name" 
) 
head(res) 
# variable  date value  lat  lon 
# 1  V1 2013-01-01  4 0.6193299 0.815607 
# 2  V1 2013-01-02  5 0.6193299 0.815607 
# 3  V1 2013-01-03  2 0.6193299 0.815607 
# 4  V1 2013-01-04  3 0.6193299 0.815607 
# 5  V1 2013-01-05 10 0.6193299 0.815607 
# 6  V1 2013-01-06  7 0.6193299 0.815607 

를 사용하여 데이터에 역으로 variable 생각할 수 있습니다. 그리고 여기 내가 만든 더미 데이터가 있습니다 :

df <- cbind(
    data.frame(seq(as.Date("2013-01-01"), by="+1 day", length.out=10)), 
    as.data.frame(replicate(10, sample(1:10))) 
) 
names(df) <- c("date", paste0("V", 1:10)) 
head(df) 
#   date V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 
# 1 2013-01-01 4 9 5 10 8 5 7 9 1 1 
# 2 2013-01-02 5 10 4 6 6 8 4 6 7 10 
# 3 2013-01-03 2 8 1 5 5 3 10 4 9 4 
# 4 2013-01-04 3 3 10 4 3 7 9 7 5 5 
# 5 2013-01-05 10 6 9 7 10 10 5 5 3 6 
# 6 2013-01-06 7 2 2 9 4 2 2 8 8 3 
lat.lon <- data.frame(loc.name=paste0("V", 1:10), lat=runif(10), lon=runif(10)) 
head(lat.lon) 
# loc.name  lat  lon 
# 1  V1 0.6193299 0.8156070 
# 2  V2 0.3656795 0.9293682 
# 3  V3 0.7073155 0.1494767 
# 4  V4 0.6715280 0.9029310 
# 5  V5 0.3588971 0.2281054 
# 6  V6 0.7231073 0.2840767 
+0

지금까지 고맙습니다. 나는 그 데이터 프레임을 지금했다. 이제 어떻게 kriging과 같은 시공간 보간 방법을 할 수 있는지 말해 줄 수 있습니까? – MojioMS

+0

@MojioMS, 나는 이것이 다른 통계가 될 것이라고 생각합니다. 통계는 특정 사이트에 게시하는 것이 좋습니다. 여기에서 시도해 볼 수도 있습니다. 당신이하려는 일과 예상되는 결과가 어떻게 생겼는지에 대한 자세한 내용을 제공해야합니다. – BrodieG