3

次のようにグループ化されたデータがあります。

group   x   y
group1  0   5
group4  0   5
group1  7   5
group4  0   5
group5  7   5
group1  7   5
group1  0   6
group2  0   6
group4  0   5
group2  0   5
group3  7   5

x と y はどちらも 0 から 7 の範囲の離散値です。それぞれの x 値と y 値に従って、各グループ データを xy 平面に配置するプロットを取得したいと考えています。たとえば、複数の group1 ポイントをすべて持つことができます。同じ色を共有する必要があります。Rでそれを行う方法は?

4

3 に答える 3

6

データ:

dat <- read.table(text = "group   x   y
group1  0   5
group4  0   5
group1  7   5
group4  0   5
group5  7   5
group1  7   5
group1  0   6
group2  0   6
group4  0   5
group2  0   5
group3  7   5", header = TRUE)

ggplot2簡単なプロットには優れたパッケージを使用できます。

library(ggplot2)
ggplot(dat, aes(x = x, y = y, colour = group)) +
  geom_point() +
  facet_wrap( ~ group)

ここでは、facet_wrapグループごとにファセットを作成していました。グループのポイントは色で区別できるため、原則としてこれは必要ありません。ただし、この場合、図には 3 つの異なる場所しかありません。したがって、データが単一の散布図にプロットされた場合、すべてのポイントが表示されるわけではありません。

ここに画像の説明を入力

于 2013-03-21T11:47:55.773 に答える
4

Sven の回答のデータを使用して、R のインストールと共に既にインストールされているはずの格子パッケージを確認することもできます。

library(lattice)
# Each group in a separate mini plot
xyplot(y ~ x | group, data = dat)
# All groups in one plot, different colors for each group
#   Not at all interesting with the example data you've provided
xyplot(y ~ x, groups=dat$group, data = dat)

もう少しデータを追加した例を次に示します。

set.seed(1)
mydf <- data.frame(
  group = sample(letters[1:4], 50, replace = TRUE),
  x = runif(50, 0, 7),
  y = runif(50, 0, 7)
)
xyplot(y ~ x, groups=mydf$group, data = mydf, 
       auto.key = list(corner = c(0, .98)), cex = 1.5)

ここに画像の説明を入力

xyplot(y ~ x | group, data = mydf, 
       auto.key = list(corner = c(0, .98)), cex = 1.5)

ここに画像の説明を入力

于 2013-03-21T11:55:44.433 に答える
0
dd<- read.table("put the path to the txt file containing the data here", header=TRUE)
g <- ggplot(dd, aes(as.factor(group)))
g <- g + geom_point(aes(y=x), colour="red")
g <- g + geom_point(aes(y=y), colour="green")
g

これにより、以下に示すように、単一のプロットでグループの関数として x と y が得られます。グループの関数としての変数のプロット

于 2013-03-22T11:36:31.817 に答える