[英]Adding new Data rows in R
我正在嘗試構建一個數據框,以便我可以使用一組特定的數據生成一個 Plot,但是我無法正確地將數據放入表中。
所以,這是我從數據查詢中可以獲得的:
> head(c, n=10)
EVTYPE FATALITIES INJURIES
834 TORNADO 5633 91346
856 TSTM WIND 504 6957
170 FLOOD 470 6789
130 EXCESSIVE HEAT 1903 6525
464 LIGHTNING 816 5230
275 HEAT 937 2100
427 ICE STORM 89 1975
153 FLASH FLOOD 978 1777
760 THUNDERSTORM WIND 133 1488
244 HAIL 15 1361
然后我嘗試生成一組數據變量來構建一個完成的 data.frame 像這樣:
a <- c(c[1,1], c[1,2], c[1,3])
b <- c(c[6,1], c[4,2] + c[6,2], c[4,3] + c[6,3])
d <- c(c[2,1], c[2,2], c[2,3])
e <- c(c[3,1], c[3,2], c[3,3])
f <- c(c[5,1], c[5,2], c[5,3])
g <- c(c[7,1], c[7,2], c[7,3])
h <- c(c[8,1], c[8,2], c[8,3])
i <- c(c[9,1], c[9,2], c[9,3])
j <- c(c[10,1], c[10,2], c[10,3])
k <- c(c[11,1], c[11,2], c[11,3])
df <- data.frame(a,b,d,e,f,g,h,i,j)
names(df) <- c("Event", "Fatalities","Injuries")
但是,這是慘敗。 我得到的是一長串所有數據變量,重復 10 次。 不錯的技巧,但這不是我要找的。 我想得到一個包含十 (10) 行數據的完成 data.frame,就像原來一樣,但我的組合數據就位。 那可能嗎。 我正在使用 R 版本 3.5.3。 並且 tidyverse 庫無法安裝在該版本上。
關於如何生成該 data.frame 的任何想法?
如果您想要條形圖,這里有一段代碼可以幫助您:
首先,您需要以正確的格式獲取數據(這可能是您在df
嘗試做的),通過使用cbind
列綁定兩個數值變量並使用t
轉置結果數據幀(即,將行轉換為列,反之亦然)反之):
plotdata <- t(cbind(c$FATALITIES, c$INJURIES))
然后將布局設置為您的繪圖,x 軸的邊距很寬以適應您的長因子名稱:
par(mfrow=c(1,1), mar = c(8,3,3,3))
現在您已准備好繪制數據; 您從c$EVTYPE
獲取標簽,減小c$EVTYPE
的標簽大小並使用las
旋轉它們以避免cex.names
:
barplot(plotdata, beside=T, names = c$EVTYPE, col=c("red","blue"), cex.names = 0.7, las = 3)
(您可以添加main =
來定義繪圖的標題。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.