[英]How to plot data from Excel using the R corrplot function?
通常,只有當您有兩個連續變量時,才可以繪制相關圖(散點圖)。 相關性是一個值,它告訴您兩個連續變量如何線性相關。 相關值將始終介於-1和1之間,其中相關值-1表示兩個變量之間的線性關系較弱,相關值1表示兩個變量之間的強線性關系。 相關值0表示兩個變量之間沒有線性關系,但是,兩個變量之間可能存在曲線線性關系
例如土地面積vs土地價格這是數據
該數據的相關值為0.896,這意味着土地面積和土地價格之間存在很強的線性關系(很明顯!)。
R中的散點圖看起來像這樣
R代碼將是
area<-c(650,785,880,990,1100,1250,1350,1800,2200,2800)
price<-c(250,275,280,290,350,340,400,335,420,460)
cor(area,price)
plot(area,price)
在Excel中,對於同樣的例子,您可以選擇兩列,請選擇插入>散點圖(下圖部分) 散點圖
在您的情況下,信息可以用條形圖繪制,y軸代表城市,x軸代表人口,反之亦然!
希望我回答了您的疑問!
一些假設
您正在問如何在Excel中執行此操作,但是您的問題被標記為R和Power BI(也是RStudio,但已被刪除),因此,我將向您展示如何使用R和Power BI進行此操作。 我還將向您展示為什么會收到該錯誤消息,以及為什么會以兩種方式都收到錯誤消息,因為您的數據集不足以繪制相關圖。
我的答案
我假設您想對表格中各城市之間的人口作一個相關圖。 在該表中,每個城市需要的信息不僅僅需要一年。 我將檢查您的數據源,看看是否可以得出最近10年的人口數字。 由於您的表中沒有城市的確切數字,我將使用一些半偽數字來計算10個人口最多的國家/地區的人口(根據您的數據結構):
Country 2017 2016 2015 2014 2013
China 1415045928 1412626453 1414944844 1411445597 1409517397
India 1354051854 1340371473 1339431384 1343418009 1339180127
United States 326766748 324472802 325279622 324521777 324459463
Indonesia 266794980 266244787 266591965 265394107 263991379
Brazil 210867954 210335253 209297939 209860881 209288278
Pakistan 200813818 199761249 200253292 197655630 197015955
Nigeria 195875237 192568158 195757661 191728478 190886311
Bangladesh 166368149 165630262 165936711 166124290 164669751
Russia 143964709 143658415 143146914 143341653 142989754
Mexcio 137590740 137486490 136768870 137177870 136590740
在Power BI中編寫和調試R代碼確實很痛苦,所以我建議您安裝R studio,在其中編寫您的小R代碼片段,然后將其粘貼到Power B中。
出現錯誤消息的原因是函數cor()
僅將數值數據作為參數。 在您的代碼示例中,城市名稱作為參數給出。 在您的代碼示例中還有更多潛在的陷阱。 您必須確保數據集是數字的。 而且,您必須確保數據集具有cor()
可以接受的形狀。
下面是一個R腳本,將執行此操作。 復制上面的數據,並將其存儲在C驅動器上名為data.xlsx的文件中。
編碼
library(corrplot)
library(readxl)
# Read data
setwd("C:/")
data <- read_excel("data.xlsx")
# Set Country names as row index
rownames(data) <- data$Country
# Remove Country from dataframe
data$Country <- NULL
# Transpose data into a readable format for cor()
data <- data.frame(t(data))
# Plot data
corrplot(cor(data))
劇情
Power BI
在Power BI中,需要先導入數據,然后才能在R visual中使用它們:
復制此:
Country,2017,2016,2015,2014,2013
China,1415045928,1412626453,1414944844,1411445597,1409517397
India,1354051854,1340371473,1339431384,1343418009,1339180127
United States,326766748,324472802,325279622,324521777,324459463
Indonesia,266794980,266244787,266591965,265394107,263991379
Brazil,210867954,210335253,209297939,209860881,209288278
Pakistan,200813818,199761249,200253292,197655630,197015955
Nigeria,195875237,192568158,195757661,191728478,190886311
Bangladesh,166368149,165630262,165936711,166124290,164669751
Russia,143964709,143658415,143146914,143341653,142989754
Mexcio,137590740,137486490,136768870,137177870,136590740
將其保存為countries.csv
您所選擇的文件夾中,並用獲取數據把它撿起來在雙向電力| 文/ CSV,單擊編輯對話框,並在電源查詢編輯器 ,單擊使用第一列作為標題 ,讓你在你的力量查詢編輯器有這個表:
單擊“ 關閉並應用” ,並確保在“ 可視化” | “ 可視化”下有可用數據。 領域 :
單擊可視化下的R:
選擇FIELDS |下的所有列。 國家/地區,以便您進行以下設置:
采取我們上面准備的部分 R代碼片段
library(corrplot)
# Set Country names as row index
data <- dataset
rownames(data) <- data$Country
# Remove Country from dataframe
data$Country <- NULL
# Transpose data into a readable format for cor()
data <- data.frame(t(data))
# Plot data
corrplot(cor(data))
並將其粘貼到Power BI R腳本編輯器中 :
單擊運行R腳本 :
你會得到這個:
而已!
如果將過程更改為從Excel文件而不是文本文件導入數據(使用Get Data | Excel ,則說明您已成功組合Excel,Power BI和R的功能以生成散點圖!
希望這就是您想要的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.