0

私はRにかなり慣れていないので、これが比較的単純な質問であれば申し訳ありません。私は csv 形式でデータを取得しようとしており、変数 (以下に PMAJ.ug.per.m3 としてリストされています) と時間のサブセット (以下に PM.Time としてリストされています) をプロットしようとしています。以下にデータのサンプルを用意しました。

   X    Site    PM.Time PMAJ.ug.per.m3
1   Run8     09:34:09   168  
2   Run8     09:34:19   32  
3   Run8     09:34:29   34  
4   Run8     09:34:39   26  
5   Run8     09:34:49   24  
6   Run8     09:34:59   30  
7   Run8     09:35:09   23  
8   Run8     09:35:19   17  
9   Run8     09:35:29   21  
10  Run8     09:35:39   20  
11  Run8     09:35:49   37  
12  Run8     09:35:59   26  
13  Run8     09:36:09   16  
14  Run8     09:36:19   21  
15  Run8     09:36:29   69  

私のコードは次のとおりで、以下にリストされているエラーを生成しています:

with(subset(aim1dat,PM.Time< 09:35:59 & PM.Time> 09:34:19), plot(PM.Time,PMAJ.ug.per.m3))

Error in axis(1, at = (xat[1L:nx] + xat[2L:(nx + 1L)] - off)/2, labels = xaxlabels,  : 
  no locations are finite
In addition: Warning messages:
1: In 9:35:59 : numerical expression has 27 elements: only the first used
2: In Ops.factor(PM.Time, 9:35:59) : < not meaningful for factors
3: In 9:34:19 : numerical expression has 26 elements: only the first used
4: In Ops.factor(PM.Time, 9:34:19) : > not meaningful for factors

残りのデータの時刻は、24 時間形式 (つまり、09:00:00 から 15:00:00) でフォーマットされます。この問題を修正する方法がわかりません。助言がありますか?

ありがとう。

4

1 に答える 1

2

因子を有効な日付/時刻形式に強制する必要があります。たとえば、ここではすべての日付を次のように変換しますPOSIXct

aim1dat$PM.Time <- as.POSIXct(aim1dat$PM.Time, format='%H:%M:%S')

dat <- subset(aim1dat,PM.Time<  as.POSIXct("09:35:59", format='%H:%M:%S') & 
               PM.Time>  as.POSIXct("09:34:19", format='%H:%M:%S'))
with(dat,plot(PM.Time,PMAJ.ug.per.m3,type='l'))

ここに画像の説明を入力

于 2013-07-23T03:11:47.380 に答える