7

以下の形式の入力データがあります。

  x      y       z
  0      2.2     4.5
  5      3.8     6.8
  10     4.6     9.3
  15     7.6     10.5

RでExcel(以下に表示)のようなxy散布図をプロットするにはどうすればよいですか?

ここに画像の説明を入力

4

2 に答える 2

14

これを行うには、少なくとも 4 つの方法があります。

(1) ここで df と呼ばれる「水平」または「幅広」の data.frame を使用します。

df <- data.frame(x = c(0, 5, 10, 15), y = c(2.2, 3.8, 4.6, 7.6),z = c(4.5, 6.8, 9.3, 10.5))
    
ggplot(df, aes(x)) + 
  geom_line(aes(y = y, colour = "y")) +   
  geom_line(aes(y = z, colour = "z"))

(2) ラティスの使用

library(lattice)
xyplot(x ~ y + z, data=df, type = c('l','l'), col = c("blue", "red"), auto.key=T)

(3) 元の df を「長い」data.frame に変換します。これは、通常、データを操作する方法ですggplot2

library(reshape)
library(ggplot2)

mdf <- melt(df, id="x")  # convert to long format
ggplot(mdf, aes(x=x, y=value, colour=variable)) +
    geom_line() + 
    theme_bw()

ここに画像の説明を入力

(4) matplot() の使用 このオプションについてはあまり詳しく調べていませんが、例を次に示します。

matplot(df$x, df[,2:3], type = "b", pch=19 ,col = 1:2)
于 2013-07-10T05:01:58.167 に答える