質問するログイン新規登録

Q&A

2回答

343閲覧

csvをtxs変換できない

daiyon1001

総合スコア0

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2025/12/01 08:26

0

0

実現したいこと

csvをtxs変換したい

発生している問題・分からないこと

csvのA列を時刻, B列を観測値として認識させたいがdatesのコードでエラーが出る

該当のソースコード

d0 <- read.csv("Book1.csv") > d1 <- as.xts(read.zoo(d0)) > dates <- seq(as.Date("2024-06-13 16:29:00"),as.Date("2024-12-09 11:07:00")length=653,by="4 hours 10 mins") エラー: 想定外のシンボルです ( "dates <- seq(as.Date("2024-06-13 16:29:00"),as.Date("2024-12-09 11:07:00")length" の) > q() > > head(d1) [,1] 2024-06-13 16:29:00 19.12103 2024-06-13 16:35:00 18.20501 2024-06-13 16:59:00 19.39273 2024-06-13 21:09:00 15.52878 2024-06-14 01:18:00 17.07613 2024-06-14 05:28:00 19.39820

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

dates <- seq(as.Date("2024-06-13 16:29:00"),as.Date("2024-12-09 11:07:00")length=653,by="4 hours 10 mins")
エラー: 想定外のシンボルです ( "dates <- seq(as.Date("2024-06-13 16:29:00"),as.Date("2024-12-09 11:07:00")length" の)

補足

A列には時刻(2024/6/13 16:29:00から2024/12/09 11:07:00)が、B列には観測値が入っている
時刻は時間間隔がバラバラで、途中で日付がとんでいる(6/30から7/3のように)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

melian

2025/12/01 09:33

length の前にカンマがないのでシンタックスエラーになっています。欲しい結果(dates)が判然としないので確定的な事は言えませんが、length が seq 関数のオプションなのだとすれば、正しくは lenght.out です。(seq 関数のオンラインマニュアルを確認してください。) また、日時で時分秒を含めるのであれば as.Date ではなく as.POSIXct の方がよいでしょう。 dates <- seq(as.POSIXct("2024-06-13 16:29:00"),as.POSIXct("2024-12-09 11:07:00"),length.out=653)
daiyon1001

2025/12/01 09:53

エラーは出なくなりました。ありがとうございます。 ここから時系列分析はどうやったらできるかわかりますか? ts_plot(d1, title = "項目の名称", Ytitle = "測定値 ") 6. トレンド・季節性の分解 ts_decompose(d1) 7. トレンド・季節性の視覚化 ts_seasonal(d1, type = "normal") ts_seasonal(d1, type = "box") ts_heatmap(d1) 8. 自己相関(ACF)の算出 ts_cor(d1, lag.max = 24)
guest

回答2

0

xtsデータで季節性分解,自己相関の算出をどうやってできますか?

投稿2025/12/05 04:50

daiyon1001

総合スコア0

0

GPTによる回答:
dates <- seq(as.Date("2024-06-13 16:29:00"),as.Date("2024-12-09 11:07:00")length=653,by="4 hours 10 mins")
ここで ) の閉じ忘れ+カンマ抜け が原因で
想定外のシンボルです というエラーになっています。

さらに as.Date() は「日付」しか扱えません。
「日時(yyyy-mm-dd hh:mm:ss)」を扱うには as.POSIXct() を使う必要があります。

しかし、もっと根本的に言うと…

あなたの d0 や d1 のように、
すでに CSV に “日時” が入っているなら、dates を seq() で自作する必要はありません。

read.zoo() が自動的に datetime をインデックスにできます。

以下だけで OK です:
library(zoo)
library(xts)

d0 <- read.csv("Book1.csv")

A列をDatetimeとして読み込む

d1 <- read.zoo(d0, format="%Y/%m/%d %H:%M:%S", tz="", index.column=1)

xtsへ変換

d1 <- as.xts(d1)

head(d1)
📌 今回の結論

あなたがやりたかったこと(A列を時刻、B列を観測値として xts にしたい)は、

✔ seq() は不要
✔ read.zoo() + as.xts() で一発で解決できる

です!

投稿2025/12/05 01:28

編集2025/12/05 01:29
brodieee

総合スコア9

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問