1

私はデータフレームを持っています:

                X2    X13    X18     X3   X15    X19
comp162192_c0 194.63 118.80 149.67  71.02 59.49  75.03
comp166160_c1 535.49 595.86 535.97 171.93 86.01 268.39
comp149395_c1  45.98  99.92  74.21  26.46 14.72  27.69

X2、X13、および X18 の値がグループ化され、X3、X15、X19 の値がグループ化されるように、このデータの 1 行から棒グラフを生成したいと考えています。すなわち。値が 194.63 118.80 149.67 の 3 本の縦棒のセット、ギャップ、次に値が 71.02 59.49 75.03 の 3 本の縦棒のセット

これを行う簡単な方法がわかりません。私が知っている何かが欠けていますが、チュートリアルの頭も尻尾も作れません。

4

1 に答える 1

0

関数のヘルプ ファイルを読むbarplot()と、引数について次の説明が表示されますheight

...プロットを構成するバーを表す値のベクトルまたは行列。... height が行列で、beside が TRUE の場合、各列の値は積み上げではなく並置されます。

したがって、プロットする数値のグループが行列の 1 つの列に収まるように、データを再配置する必要があります。cbind()これは、プロットする 3 つの値のそれぞれに対して関数を使用して行うことができます。

df <- structure(list(X2 = c(194.63, 535.49, 45.98), X13 = c(118.8, 
    595.86, 99.92), X18 = c(149.67, 535.97, 74.21), X3 = c(71.02, 
    171.93, 26.46), X15 = c(59.49, 86.01, 14.72), X19 = c(75.03, 
    268.39, 27.69)), .Names = c("X2", "X13", "X18", "X3", "X15", 
    "X19"), class = "data.frame", row.names = c("comp162192_c0", 
    "comp166160_c1", "comp149395_c1"))

barplot(cbind(unlist(df[1, 1:3]), unlist(df[1, 4:6])), beside=TRUE)

dput()(関数を使用して、他の人が R で簡単にアクセスできるようにデータを共有したことに注意してください。)

于 2013-11-13T13:48:27.407 に答える