我知道,我們通常這樣做:[R繪製頻率分佈
x=c(rep(0.3,100),rep(0.5,700))
plot(table(x))
但是,我們只能得到圖中的幾個點或垂直線。
如果我想要0.3以上的100個點和0.5以上的700個點,我該怎麼辦?
我知道,我們通常這樣做:[R繪製頻率分佈
x=c(rep(0.3,100),rep(0.5,700))
plot(table(x))
但是,我們只能得到圖中的幾個點或垂直線。
如果我想要0.3以上的100個點和0.5以上的700個點,我該怎麼辦?
是這樣的嗎?
x <- c(rep(.3,100), rep(.5, 700))
y <- c(seq(0,1, length.out=100), seq(0,1,length.out=700))
plot(x,y)
編輯:(以下OP的評論)
在這種情況下,這樣的事情應該工作。
x <- rep(seq(1, 10)/10, seq(100, 1000, by=100))
x.t <- as.matrix(table(x))
y <- unlist(apply(x.t, 1, function(x) seq(1,x)))
plot(x,y)
對於較小的數字(數),可以使用stripchart
與method="stack"
這樣的:
stripchart(c(rep(0.3,10),rep(0.5,70)), pch=19, method="stack", ylim=c(0,100))
但s tripchart不適用於700個點。
編輯:
從包裝TeachingDemos的dots()
功能可能是你想要什麼:
require(TeachingDemos)
dots(x)
你的意思,而不是從(0.5,0)行至(0.5, 700)你想要700個點,而不是從(0.3,0)到(0.3,100)的線你想要100個點? – Spacedman