1
A
回答
3
下面是做這件事的一種方法:
library(stringr) # to split strings
library(tidyverse) # to unnest lists of numbers
library(ggplot2) # for graphs
library(dplyr) # for pretty code
# Define your matrix
mat <- matrix(c(NA, "1,2,3", "6,7,1", "1,2,3", NA, "8,5,2", "6,7,1", "8,5,2", NA),
nrow=3,
ncol=3,
dimnames = list(c("P1", "P2", "P3"), c("P1", "P2", "P3")))
mat %>%
# Convert matrix to a data frame
as.table() %>%
as.data.frame() %>%
# Extract/parse numbers from strings (e.g. "1,2,3")
mutate(Freq = str_split(Freq,",")) %>%
unnest(Freq) %>%
mutate(Freq = as.integer(Freq)) %>%
# Convert the values to a percentage (which adds up to 1 for each graph)
group_by(Var1, Var2) %>%
mutate(Freq = ifelse(is.na(Freq), NA, Freq/sum(Freq)),
color = row_number()) %>%
ungroup() %>%
# Plot
ggplot(aes("", Freq, fill=factor(color))) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y") + # Make it a pie chart
facet_wrap(~Var1+Var2) + # Break it down into 9 charts
# Below is just aesthetics
theme(axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank(),
axis.title = element_blank()) +
guides(fill = FALSE)
結果:
相關問題
- 1. 從逗號分隔文本創建表
- 2. 創建從逗號分隔的數據字典
- 3. 從txt文件中逗號分隔的矩陣 - 續
- 4. VBA用於分隔逗號分隔單元格的函數
- 5. 以逗號分隔數據
- 6. ssrs矩陣由逗號分隔,並根據性別
- 7. XSLT創建逗號分隔的列表
- 8. 從mysql逗號獲取數據分隔
- 9. Excel的VBA - 用逗號分隔的數據單元排序
- 10. 逗號分隔值單倒引號和逗號分隔值
- 11. 從逗號分隔的數字導入逗號分開數字
- 12. 從laravel/blade中的數組創建逗號分隔列表?
- 13. 我想從逗號分隔的數組中創建JSON
- 14. TO逗號分隔符創建多行
- 15. 從單個單元格中提取用逗號分隔的數據
- 16. 逗號分隔的領域和逗號分隔的搜索數據
- 17. 如何從現有數據創建新的以逗號分隔的列?
- 18. 逗號分隔
- 19. 逗號分隔
- 20. 逗號分隔
- 21. 逗號分隔
- 22. 轉換逗號分隔提交到MATLAB矩陣
- 23. CAPL - 用逗號分隔字符串並設置爲矩陣
- 24. 的Python:創建一個從逗號分隔的輸出
- 25. 創建逗號分隔文件 - 尾隨分隔符
- 26. 逗號分隔值分隔
- 27. 創建分數矩陣
- 28. 根據以逗號分隔的類列表創建spring beans
- 29. 從逗號分隔的ID一次創建多個記錄
- 30. 從逗號分隔的字符串創建ArrayList沒有空格
謹慎...... –
人們通常會通過編寫一些代碼開始。 –
查看'par(mfrow = c(3,3))'''pie'也許''text' – G5W