私のコードは次のとおりです。アウト(Rは - ggplot2プロットにログ(値)= 0を削除する方法
しかし、私は、ログを望んでいない。そして、
ggplot(test.data,aes(x=log(out),y=log(n))) + geom_point(aes(colour="red"))
は私が取得します)= 0またはプロットするlog(n)= 0
どうすればよいですか?
私のコードは次のとおりです。アウト(Rは - ggplot2プロットにログ(値)= 0を削除する方法
しかし、私は、ログを望んでいない。そして、
ggplot(test.data,aes(x=log(out),y=log(n))) + geom_point(aes(colour="red"))
は私が取得します)= 0またはプロットするlog(n)= 0
どうすればよいですか?
私が最初に除外(またはNA
によってそれらを置き換える)このようなすべての値(すなわちn==1
& out==1
)し、それをプロットすることを好むだろう。これは、プロットに0を表示する場合には、多くの時間に便利です。例えば、あなたのプロットのような
何か
test.data = data.frame (sample (1:10,100,replace=TRUE), sample (1:10, 100, replace=TRUE))
names (test.data) <- c("out","n")
ggplot(test.data,aes(log(out),log(n)))+geom_point(aes(color="red"))
+ xlim (0, 2.5) + ylim (0, 2.5) # just to get same range
したい(おそらく)何か
dd = apply (test.data,1,function(row) all (row!=1)) # find when neither out nor n is 1
df = test.data[dd,] # take only
ggplot(df,aes(log(out),log(n)))+geom_point(aes(color="red"))
+ xlim (0, 2.5) + ylim (0, 2.5) # just to get same range
test.data
のデータをフィルタリングする必要があります。これは、データをプロットしてフィルタリングする前にログ機能を実行するか、またはxとyの制限を
+ xlim(0.0001, 10) + ylim(0.0001,10)
最初の値を0より大きい値にする必要がありますが、プロットするデータは含まれません。
あなただけのように、プロットする前にデータのサブセットができます
ggplot(subset(test.data, out!=1 & n!=1), aes(x=log(out),y=log(n))) +
geom_point(aes(colour="red"))