1
問題とデータ
私は以下のデータフレームを持っています。各time_frame
に対して、対応する値は対角線内にある。Rのデータフレームの対角の値を抽出するには?
> dput(foo)
structure(list(time_frame = c(20948, 23748, 24026, 24350, 24462
), col1 = c(1, 1, 1, 1, 1), col2 = c(2, 2, 2, 2, 2), col3 = c(1,
1, 1, 1, 1), col4 = c(3, 3, 3, 3, 3), col5 = c(1, 1, 1, 1, 1)), .Names = c("time_frame",
"col1", "col2", "col3", "col4", "col5"), row.names = c(NA, -5L
), class = "data.frame")
必要な出力と私は私の必要な出力は以下の通りです
を試してみました:
foo2 <- data.frame(time_frame = c(20948, 23748, 24026, 24350, 24462),
turn_signal_state = c(1,2,1,3,1))
私が何かわからないここでは、このデータフレームを作成するためのコードですこの出力を得るには最良の方法です。だから、次のように私はtidyr
パッケージを試してみました:
library(tidyr)
foo %>%
gather(col, turn_signal_state, -time_frame)
しかし、あなたが見るように、これは私が必要と正確に何ではありません。 foo
をfoo2
に変換する最良の方法を教えてください。私はtidyverse
を使用することを好む。また、元のファイルは、read.delim
を使って読み込んだテキストファイルです。最初にfoo2
形式で読むことができるかどうかお知らせください。ありがとう。