2011-02-06 2 views
3

일부 시계열 데이터의 확률 분포를 만들고 싶습니다. 내 데이터의 형식은 다음과 같습니다.R 음모 밀도 평활화 된 시계열

00:00, 3 
01:00, 50 
05:00, 13 
10:00, 34 
17:00, 80 
21:00, 100 

시간 열에는 R이 보간해야하는 일부 누락 값이 있습니다. 바쁜 기간을 강조하기 위해 멋진 부드러운 곡선을 만들고 싶습니다. 나는 ts, densityplot으로 시도했지만 이것들은 내가 무엇을하는지 알지 못합니다. 예를 들어,

data1 <- read.csv(file="c:\\abc\\ts.csv", head=FALSE, sep=",") 
data1$V1 <- strptime(data1$V1, format="%H:%M") 
plot(data1$V2, density(data1$V1), type="l") 

그러나 이것은 나에게 미친 순서와 확률 분포으로 그려 라인을 제공합니다.

답변

2

당신은 분명히 NAs를 다루는 몇 가지 기능을 가지고있는 zoo 패키지를 다뤄야한다고 생각합니다. na.aggregate, na.approxna.locf도 참조하십시오.

+0

NA는 무엇을 나타 냅니까? 웹에서 문제가 발생하면 내 검색어가 빨기 : r, zoo, na –

+0

@ Jason Axelson : NA = 누락 된 값 (사용할 수 없음) – daroczig

2

당신이 깨닫지 못했던 것보다 조금 더 어렵게 만들었습니다. 나는 당신의 시대 앞에서 데이트를 덧붙이면 더 쉬울 것이다.

또한 "texinp"변수와 textConnection() 문을 추가하여 다음 코드를 잘라내어 직접 붙여 넣을 수 있습니다. 데이터는 변수 texinp에로드되고 .csv 파일을 읽는 것과 비슷한 방법으로 read.zoo 문에서 읽습니다. 당분간은 이것을 통해 플롯 작업을 할 수 있으며 read.zoo를 사용하여 .csv 파일을 읽는 방법에 대한 아이디어를 얻을 수 있습니다.

library(zoo) 
library(chron) 

texinp <- " 
Time, Mydata 
2011-02-06 00:00, 3 
2011-02-06 01:00, 50 
2011-02-06 05:00, 13 
2011-02-06 10:00, 34 
2011-02-06 17:00, 80 
2011-02-06 21:00, 100" 

myd.zoo <- read.zoo(textConnection(texinp), header=TRUE, FUN = as.chron, sep=",") 
myd.zoo 

plot(myd.zoo) 

귀하의 질문에 대해 "바쁜 기간"에 대해 이야기했습니다. 나는 틀릴 수도 있지만, 21시에 100이라는 값이 "가장 바쁜 기간"이라고 가정하고 있습니다. 그것이 사실이라면 밀도 플롯이 필요하지 않으며 위 플롯은 사용자가 원하는 것입니다.

제가 틀렸다면 알려주세요.