[解決済み] spread() を使用して、日付時刻をカラム名に変換する
2022-02-19 03:40:11
質問
2つの列を持つデータセットがあります。1つ目は 'key' という名前で datetime を含み(現在は文字の形ですが)、2つ目はさらに datetime 値を含みます。キー行を列名にするためにspreadを使いたいと思います。ちょっと複雑ですが、これができたら、tibbleをリストに変換して、それを別の関数で使用して、datetimeカラムの見出しで名前を付けられたスケジュールを作成するつもりです。
データは今こんな感じです。
new_dat <- structure(list(key = c("2018-01-01 01:00:00", "2018-01-01 01:00:00",
"2018-01-01 01:00:00", "2018-01-01 01:00:00", "2018-01-01 01:00:00",
"2018-01-02 01:00:00", "2018-01-02 01:00:00", "2018-01-02 01:00:00",
"2018-01-02 01:00:00", "2018-01-02 01:00:00", "2018-01-03 01:00:00",
"2018-01-03 01:00:00", "2018-01-03 01:00:00", "2018-01-03 01:00:00",
"2018-01-03 01:00:00"), value = structure(c(1514835600, 1514920800,
1515013380, 1515100860, 1515173100, 1514925060, 1514994060, 1515088920,
1515181020, 1515271740, 1515011880, 1515079200, 1515174240, 1515256980,
1515345600), class = c("POSIXct", "POSIXt"), tzone = "America/Boise")), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -15L), .Names = c("key",
"value"))
そして、このような形にしたいのです。
A tibble: 7,201 x 3
`2018-01-01 01:00:00` `2018-01-02 01:00:00` `2018-01-03 01:00:00`
<dttm> <dttm> <dttm>
2018-01-01 01:00:00 2018-01-02 01:00:00 2018-01-03 01:00:00
spread()を使ってみたところ、以下のようなエラーが発生しました。
Error in eval_tidy(enquo(var), var_env) : object '' not found
spread()でdatetimeをカラム名にすることは可能ですか?
どのように解決するのですか?
レコードが重複しているので、シーケンスカラムが必要です。
library(tidyverse)
new_dat %>%
group_by(key) %>%
mutate(rn = row_number()) %>%
spread(key, value) %>%
select(-rn)
# A tibble: 5 x 3
# `2018-01-01 01:00:00` `2018-01-02 01:00:00` `2018-01-03 01:00:00`
# <dttm> <dttm> <dttm>
#1 2018-01-01 12:40:00 2018-01-02 13:31:00 2018-01-03 13:38:00
#2 2018-01-02 12:20:00 2018-01-03 08:41:00 2018-01-04 08:20:00
#3 2018-01-03 14:03:00 2018-01-04 11:02:00 2018-01-05 10:44:00
#4 2018-01-04 14:21:00 2018-01-05 12:37:00 2018-01-06 09:43:00
#5 2018-01-05 10:25:00 2018-01-06 13:49:00 2018-01-07 10:20:00
関連
-
[解決済み】基本 - T-検定 -> グループ化因子は正確に2水準でなければならない
-
[解決済み】 'height' はベクトルか行列でなければならない barplot のエラー
-
[解決済み】エラー。Rの'break'の数が無効
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】Rのメモリ管理/サイズn Mbのベクトルを割り当てられない
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】R: predict() の数値 'envir' 引数が長さ1でない。)
-
[解決済み】dplyr: "Error in n(): 関数は直接呼ばれるべきではありません"
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み】LMEモデルのレベル0、ブロック1でのバックソルブにおける特異性
-
[解決済み】rbind エラー。"名前が以前の名前と一致しない"
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】二項演算子への非数値引数【非公開
-
[解決済み】Rで、Error: ggplot2 doesn't know how to handle of data of class numericに対処する。
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?