【问题标题】:Arguments imply differing number of rows: 1, 0 when dealing with ddply参数暗示不同的行数: 1, 0 在处理 ddply 时
【发布时间】:2017-03-24 12:10:17
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: r


    【解决方案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
    

    【讨论】:

    • 这也发生在 ldply 上。行中有一个数据项为 NULL,因此 ldply 失败
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2021-11-25
    • 2019-02-13
    • 2015-12-08
    • 1970-01-01
    相关资源
    最近更新 更多