2017-04-11 5 views
0

を:「as.POSIXct.numericでエラーが発生しました(値) 『起源』は供給されなければならない」私はrにかなり新たなんだ、と誰かができるかもしれません場合はそう思っていました私が受け取ったエラーメッセージを助けるために。数値にPOSIXctからdata.frame列を変換するには、生成:

私はPOSIXctにある列AUC_sheet$sys_timeを含むdata.frame AUC_sheetを持っており、血圧測定値が操作中に取られた時間を表しています。

私は、曲線の計算の下で、後続の領域の間に正確な結果を得ることができるように、POSIXctのうち、AUC_sheetを変換したいと思います。

for(i in 1:length(AUC_sheet$sys_time)){ 
AUC_sheet$sys_time[i] <- as.numeric(difftime(time1 = AUC_sheet$sys_time[1], 
              time2 = AUC_sheet$sys_time[i], units = "hours")) 
} 

しかし

Error in as.POSIXct.numeric(value) : 'origin' must be supplied 

を次のように私はorigin = "1970-01-01"を使用して試してみたが、それは、これは未使用である私に告げるエラーメッセージを取得しておいてください。私は、変換を実行するループのために、以下を使用しました引数。

私が間違ってやっていることを紛れも明らかに何かがありますか?私は十分なデータを提供していませんでした場合は、この

 sys_value   sys_time 
     <dbl>    <time> 
1   85 2013-08-28 12:48:24 
2   NA 2013-08-28 12:48:39 
3   NA 2013-08-28 12:48:54 
4   NA 2013-08-28 12:49:08 
5   NA 2013-08-28 12:49:24 
6  170 2013-08-28 12:49:38 
7  150 2013-08-28 12:49:54 
8  167 2013-08-28 12:50:09 
9  175 2013-08-28 12:50:24 
10  167 2013-08-28 12:50:39 
# ... with 549 more rows 
+1

sys_timeのいくつかの例を示していますか? – din

+0

@CPhil、ヘルプや説明に感謝。完璧に働いた – cmo1

答えて

1

あなたの問題があるように必要な

EDIT AUC_sheet $ SYS_TIMEが見える場合

事前のおかげで、と申し訳ありませんが、私が編集して、よりを投稿することができますas.numericを呼び出すことはできません。問題は、その呼び出しの結果をPOSIXct列である列に書き込もうとしていることです。変換方法は、起源を必要とするので、だから、Rは、あなたのための正しい形式に変換しようとすると、失敗します。 あなたは(より良いまだか、問題を回避するために、単一のベクトル化操作としてループのために書く)新しい列に書き込むなら、あなたは問題を持つべきではありません。

# make up some dummy data for testing 
AUC = data.frame(sys_value = 1:100, sys_time = as.POSIXct(Sys.time() + 1:100)) 

for(i in 1:length(AUC$sys_time)){ 
    AUC$sys_time[i] <- as.numeric(difftime(time1 = AUC$sys_time[1], 
            time2 = AUC$sys_time[i], units = "hours")) 
} # this doesn't work, because you're mixing data types in the sys_time column 


for(i in 1:length(AUC$sys_time)){ 
    AUC$sys_time_diff[i] <- as.numeric(difftime(time1 = AUC$sys_time[1], 
              time2 = AUC$sys_time[i], units = "hours")) 
} # this works, because the numeric data isn't being added to a time column 
関連する問題