我一直在嘗試創建一個風箏圖表失敗。我想顯示在每個深度水平(820,1208,1750和2209米)觀察到的每種魚類的總數(a-f)。我嘗試過plotrix
中的kiteChart
,但無法確定如何將數據轉換爲正確的格式。 我試圖按照使用下面的一個論壇另一篇文章,但沒有奏效:在R創建風箏圖表
X <- read.table(textConnection("Species Total Depth
A 6 820
A 15 1208
A 77 1750
A 41 2209
B 11 820
B 17 1208
B 17 1750
B 1 2209
C 0 820
C 13 1208
C 5 1750
C 4 2209
D 32 820
D 0 1208
D 0 1750
D 0 2209
E 0 820
E 11 1208
E 0 1750
E 0 2209
F 0 820
F 0 1208
F 0 1750
F 6 2209"),header=TRUE)
library(reshape)
X2 <- recast(X,Depth~Species,id.var=1:2)
X3 <- as.matrix(X2[,-1])
rownames(X3) <- X2$Depth
colnames(X3) <- names(X2)[-1]
library(plotrix)
kiteChart(t(X3),xlab="Depth",ylab="Species")
#or
x2<-matrix(X$Total,ncol=3)
rownames(x2)<-unique(X$Distance)
colnames(x2)<-unique(X$Species)
kiteChart(t(X3),xlab="Distance",ylab="Species")
任何人都可以提出一個解決辦法? 非常感謝
更新:我已經重新安排我的數據,現在可以產生下面的圖。
X <- read.table(textConnection("Species Depth Total
A 820 6
A 1208 15
A 1750 77
A 2209 41
B 820 11
B 1208 17
B 1750 17
B 2209 1
C 820 0
C 1208 13
C 1750 5
C 2209 4
D 820 32
D 1208 0
D 1750 0
D 2209 0
E 820 0
E 1208 11
E 1750 0
E 2209 0
F 820 0
F 1208 0
F 1750 0
F 2209 6"),header=TRUE)
library(reshape)
X2 <- recast(X,Depth~Species,id.var=1:2)
X3 <- as.matrix(X2[,-1])
rownames(X3) <- X2$Depth
colnames(X3) <- names(X2)[-1]
library(plotrix)
kiteChart(t(X3),xlab="Depth",ylab="Species")
我不知道,如果'kiteChart'可以有一個連續的'時間軸'(在你的情況下是深度),其中x值可能是不規則的極其間隔。一個簡單的例子:三次/深度m < - 矩陣(樣本(1:6),nrow = 2,ncol = 3)的兩個物種。 'kiteChart(米)'。然後設想他們不是在1米,2米,3米,而是在1,3,9米處採樣。嘗試'timepos'參數:'kiteChart(m,timepos = c(1,3,9))'。似乎x軸上的比例是分類的,而不是連續的。如果我誤解了'kiteChart',請糾正我。乾杯。 – Henrik