[英]Scatter plot is empty after assigning different colour argument in R
我有一個數據集 (df),其中包含 111 個數據點,這些數據點分配給三個分類類別,分別標記為“聲學”、“視覺”和“兩者”。
bft swell depth dist boats type
1 1 1.0 10 0.5249928 0 Acoustic
2 1 2.0 13 1.3942633 0 Acoustic
3 1 0.5 10 0.5064976 0 Acoustic
4 2 0.5 16 2.9369194 2 Acoustic
5 2 0.5 14 2.8161770 0 Acoustic
6 1 0.5 15 2.5131418 0 Acoustic
我有五個特征參數,我想用它們來對這些類進行聚類。 數據沒有很好地聚類,我可以通過散點圖 plot 看到這一點(沒關系),但是當我嘗試對這些圖進行顏色編碼時,它返回空白圖。 即使它們不能很好地聚集,我覺得它仍然應該是 plot 顏色。 我對此很陌生,所以我可能錯過了一些東西。 有人可以幫幫我嗎? 下面是我使用的代碼,我還附上了我的散點圖 plot 的圖片,不帶顏色。
df <- porpoise[,c("bft", "swell", "depth", "dist", "boats", "type")]
pairs(df[,1:5], pch = 15, lower.panel = NULL)
my_cols <- c("#00AFBB", "#E7B800", "#FC4E07")
pairs(df[,1:5], pch = 19, cex = 0.5,
col = my_cols["type"],
lower.panel=NULL)
當我嘗試對此數據集進行試驗聚類分析時,發生了同樣的事情,但在運行 det_col 行“強制引入的 NAs”后出現此警告
df2 <- df[,-6]
detection_type <- df[,6]
library(colorspace)
det_col <- rev(rainbow_hcl(3))[as.numeric(detection_type)]
我覺得這與無法進行顏色編碼的情節有關(如果這有助於解開謎團)。
謝謝
嘗試添加一個列,為每種類型提供 my_cols 的顏色,並將該列成pairs
分配給col
,如下所示:
porpoise <- read.table(text = "bft swell depth dist boats type
1 1 1.0 10 0.5249928 0 Acoustic
2 1 2.0 13 1.3942633 0 Acoustic
3 1 0.5 10 0.5064976 0 Acoustic
4 2 0.5 16 2.9369194 2 Acoustic
5 2 0.5 14 2.8161770 0 Acoustic
6 1 0.5 15 2.5131418 0 Acoustic", header = TRUE)
df <- porpoise[,c("bft", "swell", "depth", "dist", "boats", "type")]
pairs(df[,1:5], pch = 15, lower.panel = NULL)
my_cols <- c("#00AFBB", "#E7B800", "#FC4E07")
library(dplyr)
df <- df %>%
mutate(color = case_when(type == "Acoustic" ~ my_cols[1],
type == "Visual" ~ my_cols[2],
type == "Both" ~ my_cols[3]))
pairs(df[,1:5], pch = 19, cex = 0.5,
col = df$color,
lower.panel=NULL)
由代表 package (v2.0.1) 於 2022 年 8 月 13 日創建
請注意:它只顯示一種顏色,因為您只共享了“聲學”類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.