Кажется, это проблема разрешения.Каждая из этих пропущенных строк в столбце 8 имеет ширину в один пиксель.Столбец 1 также содержит нули, которые не отображаются (строки 2811 и 3639), а другие столбцы содержат множество пропущенных данных из одной строки (в пикселях), которые не отображаются.Когда я сокращаю набор данных до небольшой области вокруг одного из нулей в C8, они появляются:
smalldf <- df[5009:5013,]
smallm <- as.matrix(smalldf[,-1])
heatmap(smallm, Rowv = NA, Colv = NA, scale="none", col = pal, ylab="Records", main="Data Completeness")
Изображение: когда df сокращается до области вокруг одного из нулей в столбце8, отображается белая линия.
Если вы действительно хотите показать эти отсутствующие на 1 строке данные в тепловой карте, я бы предложил заменить соседние 1 на нули.(т. е. 1 ноль становится 1 ноль выше него и 1 ноль ниже него).Быстрый и грязный способ сделать это для одного столбца:
> idx <- which(df$Column.8 == 0)
> df$Column.8[idx-2] <- 0
> df$Column.8[idx-1] <- 0
> df$Column.8[idx+1] <- 0
> df$Column.8[idx+2] <- 0
> m <- as.matrix(df[, -1])
> heatmap(m, Rowv = NA, Colv = NA, scale="none", col = pal, ylab="Records", main="Data Completeness")
Это приводит к тому, что линии отображаются как минимум, хотя кажется, что имеется только 2-3 дискретных отверстия, а не 8 отдельных крошечныхотверстия:
Тепловая карта со столбцом «пересэмплирования» 8
Я не уверен, что это хороший способ сделать это, потому что я не уверен, что выВы используете эти данные / тепловую карту для.Если это просто визуализация того, где недостающие данные, то это должно помочь.(И вы можете сделать то же самое для других столбцов)