Я пытаюсь применить geom_tile или heatmap нечетко, но результаты, когда я применяю их, совершенно разные.
Я думаю, что понимаю, почему, я думаю, что это потому, что единицы для другой переменнойразные между ними.Таким образом, хотя функция heatmap понимает это и сравнивает только одну и ту же переменную в одном столбце, geom_tile требует, чтобы все переменные, включенные в набор данных, были выражены в одной и той же единице.
1) Я ошибаюсь в своем предположении?2) Есть способ использовать geom_tile и получить тот же результат, который был сгенерирован тепловой картой?
Пример использования функции тепловой карты:
library(ggplot2)
library(RColorBrewer)
library(readr)
url_soccer <- 'https://raw.githubusercontent.com/frm1789/soccer_ea/master/Example_Data_Matrix_heatmap.csv'
df_matrix <- read_csv(url_soccer)
# Order data for titles
df_matrix <- df_matrix[order(df_matrix$Titles, decreasing = FALSE),]
df_matrix <- data.frame(df_matrix)
#removing names of the teams.
row.names(df_matrix) <- df_matrix$Team
df_matrix <- df_matrix[,-1]
options(digits=2)
df_matrix$Points_1 <- sub(',', '.', df_matrix$Points_1)
df_matrix$Points_1 <- as.double(df_matrix$Points_1)
# transformation to numeric for column "Performance"
df_matrix$Performance =
substr(df_matrix$Performance,1,nchar(df_matrix$Performance)-1)
df_matrix$Performance <- sub(',', '.', df_matrix$Performance)
df_matrix$Performance <- as.double(df_matrix$Performance)
df_matrix$Performance <- log(df_matrix$Performance)
small_matrix <- data.matrix(df_matrix)
# Creation of heatmap
america_heatmap <- heatmap(small_matrix, Rowv=NA,
Colv=NA, col = brewer.pal(9, "Blues"),
scale="column",
margins=c(2,6))
Пример использования функции geom_tile:
url_soccer 'https://raw.githubusercontent.com/frm1789/soccer_ea/master/Example_Data_format_ggplot_geom_tile.csv'
df_exa <- read_csv(url_soccer)
ggplot(data = df_exa, aes(x = df_exa$country, y = df_exa$metric)) +
geom_tile(aes(fill = df_exa$value)) +
coord_flip()+
theme_minimal()