【问题标题】:Combining numeric data with factors in R将数值数据与 R 中的因子相结合
【发布时间】:2016-03-11 20:57:48
【问题描述】:

之前要说我对 R 完全陌生。

我在处理以下问题时需要帮助: 一张表由几列组成,但只有两列(“类型”和“景观百分比”)与我相关。 如果可能,我想在直方图或条形图中显示“景观百分比”(数字)和“类型”(因子)。 主要是我想在 x 轴上显示“类型”(见下图)。

 'data.frame':   9 obs. of  6 variables:
 $ TYPE                   : Factor w/ 9 levels " Broad-leaved forest ",..: 2 3 7 5 6 4 9 8 1
 $ Total.Area             : int  1939 141 358 74 64 102 69 18 2
 $ Percantage.of.Landscape: num  69.25 5.04 12.79 2.64 2.29 ...
 $ Edge.Density           : num  19.36 4.29 8.93 2.5 3 ...
 $ X                      : logi  NA NA NA NA NA NA ...
 $ X.1                    : logi  NA NA NA NA NA NA ...

> levels(data$TYPE)
[1] " Broad-leaved forest "                      " Coniferous forest "                       
[3] " Discontinuous urban fabric "               " Inland marshes "                          
[5] " Land principally occupied by agriculture " " Mineral extraction sites "                
[7] " Mixed forest "                             " Non-irrigated arable land "               
[9] " Pastures "                                
> str(data$Percantage.of.Landscape)
 num [1:9] 69.25 5.04 12.79 2.64 2.29 ...
> data$Percantage.of.Landscape
[1] 69.2500  5.0357 12.7857  2.6429  2.2857  3.6429  2.4643  0.6429  0.0714

【问题讨论】:

  • barplot(height = data$Percantage.of.Landscape, names.arg = data$TYPE) [原文如此]
  • 未来,最好分享您解决问题的尝试,而不是数据。 dput() 是共享数据的好方法 - 它是可复制/可粘贴的。在这种情况下,由于只有两列相关,dput(data[, c(1, 3)]) 将是共享数据的完美方式。
  • 感谢您的建议。我只是不知道你需要多少信息来帮助我解决这个问题。
  • 顺便说一下,感谢您提出的解决方案。

标签: r histogram bar-chart


【解决方案1】:

我假设您的数据如下所示?

percentage <- c(69.2500, 5.0357, 12.7857, 2.6429, 2.2857, 3.6429, 2.4643, 0.6429, 0.0714)
type <- as.factor(c("Broad-leaved forest", 
          " Coniferous forest", 
          "Discontinuous urban fabric", 
          "Inland marshes", 
          "Land principally occupied by agriculture", 
          "Mineral extraction sites", 
          "Mixed forest", 
          "Non-irrigated arable land", 
          "Pastures"))
other_variable1 <- 1:9
other_variable2 <- 13:5

data <- data.frame(percentage,
                   type,
                   other_variable1,
                   other_variable2)

然后你可以像这样做一个简单的条形图:

barplot(data$percentage,
        names.arg = data$type)

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多