簡體   English   中英

如何用幾個定性變量繪制 ggplot + geom(line)?

[英]How to graph a ggplot + geom(line) with several qualitative variables?

我有調查類型的數據,我想用 ggplot 制作圖表。

例如,

id 1 有護照,visa1 和visa2。 所以,我想分組 o 創建一個名為文件類型的變量,所有這些都是因為我想繪制一個包含多個系列的類型線圖,該系列將是護照簽證 1 和簽證 2。 我真的不知道該怎么做。

請幫我。

id   date        passport   visa1    visa2

1   feb.2018         x        x       x
5   jan.2000         na       x       na
6   oct.1990         x        na      na
6   sep.2005         na       x       na
7   dec.2018         na       na      x
8   aug.2016         x        x       na 

看起來您的數據是寬格式的。 對於 ggplot2,您需要長格式。 以下是如何將二進制列(passport、visa1、visa2)收集到單個因子變量中: http : //www.cookbook-r.com/Manipulating_data/Converting_data_between_wide_and_long_format/

然后您需要做的就是將新變量分配給ggplot2美學,例如colour https://ggplot2.tidyverse.org/

我沒有發布代碼,因為我認為這些是整理和可視化數據的非常基本的知識,並且通過學習適當的教程可以更好地為 OP 服務。 從鏈接的資源中合成必要的代碼應該很容易。

也因為我不清楚 OP 究竟希望他們的數據如何分組,應該根據什么繪制什么......

編輯:

在我看來,從設計矩陣到長整齊格式還有一個額外的步驟:在制作長格式后,您必須消除新創建的變量中具有NA所有行。

畢竟我想我會發布一些代碼。 我不知道這是你想要的,但也許它會讓你朝着正確的方向思考。

DF <- data.frame(v1 = letters[1:10],
           v2 = sample(c(0,1), 10, replace=TRUE),
           v3 = sample(c(0,1), 10, replace=TRUE),
           v4 = rnorm(10, 100, 10))

##    v1 v2 v3        v4
## 1   a  0  1  80.87423
## 2   b  0  1 107.77500
## 3   c  0  0  99.93618
## 4   d  1  0  99.77675
## 5   e  0  0  93.72743
## 6   f  0  1 102.19122
## 7   g  0  0  89.06118
## 8   h  1  1 118.87512
## 9   i  0  0  98.09992
## 10  j  1  1 106.06299

library(tidyverse)

DF2 <- DF %>% 
  gather(key="newvar", value="category", c("v2", "v3")) %>%
  filter(category == 1) %>%
  select(-category) # don't need it anymore

##   v1        v4 newvar
## 1  d  99.77675     v2
## 2  h 118.87512     v2
## 3  j 106.06299     v2
## 4  a  80.87423     v3
## 5  b 107.77500     v3
## 6  f 102.19122     v3
## 7  h 118.87512     v3
## 8  j 106.06299     v3


ggplot(DF2, aes(x=v1, y=v4, colour=newvar, group=newvar)) +
  geom_line()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM