我正在尝试使用ggplot生成一个cdf图,并在线查看了一些示例。但是,当我尝试复制它时,我收到以下错误:
“参数意味着行数不同:1,0”
我进行了搜索,似乎从我收集的nrows!= ncol,这对于data.frame不起作用。我有点困惑,因为我的MCtab数据帧类似。
如果有人能解释出了什么问题,或者我误解了什么会很棒?代码如下所示。
library (triangle)
library(ggplot2)
n = 1000
W1 = rtriangle(n,330,400)
W2 = rtriangle(n,300,420)
SO = rtriangle(n,0.2,0.3)
MCtab <- data.frame(W1,W2,SO)
set.seed(1)
for (n in 1:n) {
N0 <- (W1 + W2 + SO )}
set.seed(1)
for (n in 1:n) {
N1 <- ((0.99*W1 + 0.99*W2 + 0.99*SO ))}
set.seed(1)
for (n in 1:n) {
N2 <- ((0.98*W1 + 0.98*W2 + 0.98*SO))}
ggdata <- data.frame(N0,N1,N2)
ggdata <- ddply(ggdata, .(N0,N1,N2), transform, ecd=ecdf)
cdf <- ggplot(ggdata, aes(x=value)) + stat_ecdf(aes(colour=N0,N1,N2))
cdf
答案 0 :(得分:1)
使用以下代码解决了这个问题:
ggdata <- data.frame(N0,N1,N2)
ggdata<- melt(ggdata)
ggdata <- ddply(ggdata, .(variable), transform, ecd=ecdf(value)(value))
cdf <- ggplot(ggdata, aes(x=value)) + stat_ecdf(aes(colour=variable))
cdf