クリップボードとdputでデータを共有する
Rのデータ整形について質問したいんだけどデータはExcel上にある、そして質問は今この瞬間に投げかけたい、ファイルに出力している暇などない、そんな事態、あると思います。
そんな時はdput関数を使ってください。
クリップボードにコピーした結果を共有する
たとえばこんなデータがExcel上にあったとします。
該当範囲のデータをまずコピーします。
その上で以下のコマンドを打ち込んでください。
dput(read.table("clipboard")) # Windowsの場合 dput(read.table(pipe("pbpaste"))) # Macの場合
こうするとコンソールに以下のような結果が表示されます。
> dput(read.table(pipe("pbpaste"))) structure(list(V1 = structure(c(3L, 1L, 2L), .Label = c("1", "2", "num"), class = "factor"), V2 = structure(c(3L, 1L, 2L), .Label = c("3", "4", "value"), class = "factor")), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA, -3L))
この出力結果(structure以下)を相手に共有してください(スタックオーバーフローとかRワカラングとか)。
どのように共有しているかは例えば以下のスタックオーバーフローの質問等を参考にしてください。
http://stackoverflow.com/questions/28391850/r-reverse-order-of-discrete-y-axis-in-ggplot2
出力結果を利用する
この出力結果を利用する時はstructure以下を実行してください。
上記の例であれば以下のような形になります。
df <- structure(list(V1 = structure(c(3L, 1L, 2L), .Label = c("1", "2", "num"), class = "factor"), V2 = structure(c(3L, 1L, 2L), .Label = c("3", "4", "value"), class = "factor")), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA, -3L))
ほぼ近い形で再現できます。
> df V1 V2 1 num value 2 1 3 3 2 4