簡體   English   中英

在 R 中添加新的數據行

[英]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.

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