У меня есть два формата моих данных о смертности, один в виде списка, который вы получаете из базы данных о человеческой смертности, с мужскими, женскими и комбинированными данными в столбцах. Другой формат разделен на мужские и женские матрицы, где в каждой матрице указаны только возраст, год и коэффициент смертности.
Первый формат по линиям
Year Age Female Male Total
1961 99 0.3 0.4 0.3
1961 98 0.4 0.5 0.4
и т.п.
Второй формат я разделил, чтобы получить данные в виде:
Age 1961 1962 1963 .....
0 0.02 0.02 0.02 ...
1 0.002 0.002 0.002....
и т.п.
Я хотел бы иметь возможность построить тепловую карту, чтобы я мог смотреть на эффекты когорты и т. Д.
Я пробовал различные методы, найденные при поиске в Интернете, но они не работают с тем, как представлены мои данные. Тепловые карты, которые я создал, оказались полностью красными. Кто-нибудь может помочь?
Я пробовал это:
rnames <- France[,1] #assign labels in column 1 to "rnames"
mat_data <- data.matrix(France[,2:ncol(France)])
rownames(mat_data) <- rnames #assign row names
col_breaks = c(seq(-1,0,length=100), # for red
seq(0,0.8,length=100), # for yellow
seq(0.8,1,length=100)) # for green
my_palette <- colorRampPalette(c("red", "yellow", "green"))(n = 299)
png("location", # create PNG for the heat map
width = 5*300, # 5 x 300 pixels
height = 5*300,
res = 300, # 300 pixels per inch
pointsize = 8) # smaller font size
heatmap.2(mat_data,
cellnote=mat_data,
main="Correlation",
notecol="black",
trace="none",
margins =c(12,9),
col=my_palette,
breaks=col_breaks,
dendrogram="row",
Colv="NA")
dev.off()
При этом создается сплошная красная тепловая карта с годом, указанным внизу, а затем словом «возраст» рядом с годами, а затем фактическим возрастом, указанным по оси y. Это также дает мне код ошибки:
Error in seq.default(min.raw, max.raw, by = min(diff(breaks)/4)) :
invalid (to - from)/by in seq(.)
Кто-нибудь знает, как лучше создать тепловую карту или что я здесь сделал не так?
seq
функций, но три, которые я вижу здесь, отлично работают с моей стороны. Есть ли в коде что-то, что не показано? - person Tgsmith61591   schedule 04.11.2015Colv="NA"
, она принимает моиseq
функции нормально, я думаю - person Emma   schedule 04.11.2015Colv="NA"
, потому что это конец вызова функции дляheatmap.2
, поэтому ошибка находится в одном из аргументов, переданных функции ... один из многих-многих переданных аргументов :-) - person Tgsmith61591   schedule 04.11.2015France
фрейме? - person Tgsmith61591   schedule 04.11.2015