【问题标题】:Plotting a multidimensional Data Set绘制多维数据集
【发布时间】:2014-10-28 04:00:05
【问题描述】:

我有一个看起来像这样的二维数据集(矩阵/数据框)

              779      482      859     1156
maxs          56916.00 78968.00 51156.00 44827.01
Means+Stdv    41784.70 64440.83 38319.10 42767.14
Mean_Cost     31863.18 44407.40 29365.78 38711.29
Means_Stdv    21941.66 24373.97 20412.45 34655.43
mins          21088.00 13768.00 24132.00 31452.00

779、489,859、1156 是我想在 x 轴上绘制的值

列上的其余值是对应于每个 x 的值

现在我想绘制整个数据集,这样我就有了一个包含以下几点的图表

(779,56916) , (779, 41784)......

(482,78968) , (482, 64440).....等等

到目前为止我的做法是这样的(它给了我正在寻找的情节)

plot(colnames(resultsSummary),resultsSummary[1,],ylim=c(0,80000),pch=6)
points(colnames(resultsSummary),resultsSummary[2,],pch=3)
points(colnames(resultsSummary),resultsSummary[3,])

等等.....逐行绘制

我确定有更好的方法可以做到,但我不知道怎么做,有什么建议吗?

【问题讨论】:

  • 如果您要求“更好的方法”,您希望使用什么标准来确定哪种方法更好?如果你得到你想要的情节,有什么问题?
  • 我找到了 6 行代码来生成一个小数据集的一个图,并且我认为有更好的方法(压缩器?)来做到这一点

标签: r plot ggplot2 visualization shiny


【解决方案1】:
DF <- read.table(text="              779      482      859     1156
maxs          56916.00 78968.00 51156.00 44827.01
Means+Stdv    41784.70 64440.83 38319.10 42767.14
                 Mean_Cost     31863.18 44407.40 29365.78 38711.29
                 Means_Stdv    21941.66 24373.97 20412.45 34655.43
                 mins          21088.00 13768.00 24132.00 31452.00", 
              header=TRUE, check.names=FALSE)
m <- as.matrix(DF)
matplot(as.integer(colnames(m)),
        t(m), pch=seq_len(ncol(m)))

【讨论】:

    【解决方案2】:

    以下也有效:

    ddf = structure(list(var = structure(c(1L, 4L, 2L, 3L, 5L), .Label = c("maxs", 
    "Mean_Cost", "Means_Stdv", "Means+Stdv", "mins"), class = "factor"), 
        X779 = c(56916, 41784.7, 31863.18, 21941.66, 21088), X482 = c(78968, 
        64440.83, 44407.4, 24373.97, 13768), X859 = c(51156, 38319.1, 
        29365.78, 20412.45, 24132), X1156 = c(44827.01, 42767.14, 
        38711.29, 34655.43, 31452)), .Names = c("var", "X779", "X482", 
    "X859", "X1156"), class = "data.frame", row.names = c(NA, -5L
    ))
    
    ddf
             var     X779     X482     X859    X1156
    1       maxs 56916.00 78968.00 51156.00 44827.01
    2 Means+Stdv 41784.70 64440.83 38319.10 42767.14
    3  Mean_Cost 31863.18 44407.40 29365.78 38711.29
    4 Means_Stdv 21941.66 24373.97 20412.45 34655.43
    5       mins 21088.00 13768.00 24132.00 31452.00
    
    ddf[6,2:5]=as.numeric(substr(names(ddf)[2:5],2,4))
    ddf2 = data.frame(t(ddf))
    ddf2 = ddf2[-1,]
    mm = melt(ddf2, id='X6')
    ggplot(mm)+geom_point(aes(x=X6, y=value, color=variable))
    

    【讨论】:

      猜你喜欢
      • 2015-06-07
      • 2020-12-06
      • 2015-01-02
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      相关资源
      最近更新 更多