0

プロットしたいデータがいくつかありますが(たとえば) 、ベクトルの値に応じて色を付けたい基準plot(x,y)がいくつかあります。zc(1, 0, 1, 1, 1, 1, 0, NA ,0 ,0, .....)

1の色と色を選択する方法はあります0か?

ありがとう

4

5 に答える 5

4

私はこれがすでに答えられていることを知っていますが、これは参照用のプロットを備えた非常に直感的なコードです。

#Let's create some fictional data 
x = rbinom(100,1,.5)
x[round(runif(10)*100)] = NA

#Assign colors to 1's and 0's
colors = rep(NA,length(x))
colors[x==1] = "blue"
colors[x==0] = "red" 

#Plot the vector x
plot(x,bg=colors,pch=21)

ここに画像の説明を入力してください

于 2013-02-11T20:10:15.573 に答える
3

たとえば、次のように、xとベクトルである限り、色のベクトルを取得する必要があります。y

z[is.na(z)] = 2
zcol = c("red", "blue", "black")[z + 1]

次に、次のことを簡単に行うことができます。

plot(x, y, col=zcol)
于 2013-02-11T18:45:15.987 に答える
2

多分私は何かが足りないのですが、あなたが欲しいと思います:

plot(x,y,col=ifelse(z==0,'zerocolour','onecolour'))

ここで、2つの色をredandblueまたはwhatに置き換えます。

プロットされるとは思わNAないので、心配する必要はありません。

data.frameより多くの色については、の一意の値を使用して小さなマッピングを作成してからz、とマージzすることができますdata.frame。これは2色の例です:

map<-data.frame(z=c(0,1),col=c('red','blue'))
plot(x,y,col=merge(z,map)$col)
于 2013-02-11T18:51:59.153 に答える
2

ggplot2パッケージを使用する

require(ggplot2)

df <- data.frame(x = c(1, 2, 3, 4, 5), y = c(2, 3, 4, 6, 7), z = c(1, 0 , 1, 0 , NA))
df$z[is.na(df$z)] = 2
ggplot(df, aes(x, y, color = as.factor(z))) + geom_point()
于 2013-02-11T19:00:12.860 に答える
1

色のベクトルを引数に指定col=してから、zを使用して色を選択できます。paste()NAを文字に変換し、as.factor()それらの文字を1、2、および3として解釈するために使用されます。

x<-c(1,2,3,4,5)
y<-c(1,2,3,4,5)
z<-c(1,0,NA,1,1)
plot(x,y,col=c("red","green",'black')[as.factor(paste(z))],pch=19,cex=3)

str(as.factor(paste(z)))
Factor w/ 3 levels "0","1","NA": 2 1 3 2 2
于 2013-02-11T18:52:22.717 に答える