具有 NA 数据的列数和行数的直方图

Histogram of column counts and row counts with NA data

我有以下形式的数据:

Input_SNP   Set_1    Set_2     Set_3     Set_4     Set_5     Set_6
1.09        0.162    NA        2.312     1.876     0.12      0.812
0.687       NA       0.987     1.32      1.11      1.04      NA
NA          1.890    0.923     1.43      0.900     2.02      2.7
2.801       0.642    0.791     0.812     NA        0.31      1.60
1.33        1.33     NA        1.22      0.23      0.18      1.77
2.91        1.00     1.651     NA        1.55      3.20      0.99
2.00        2.31     0.89      1.13      1.25      0.12      1.55

我想绘制除 Input_SNP 列之外的每列数据总数的直方图。例如,Set_1 有 6 个,Set_2 有 5 个,等等。显然,除了第一行之外,我还想绘制每个数据总数的直方图。这怎么能在 R 中完成?这是一个数据框。

您可以通过以下方式获取列(减去第一列)和行中非缺失值的计数:

# Toy data to test
df <- data.frame(X1 = c(1, 1, NA, 3, NA), X2 = c(3, 4, NA, 1, 5), X3 = c(3, 4, 6, 1, 8))

# Now generate vectors of the counts
column.counts <- colSums(!is.na(df[,2:ncol(df)]))
row.counts <- rowSums(!is.na(df))

有几种制作直方图的方法。在 base R 中,你可以只调用 hist(column.counts)hist(row.counts)。在 ggplot2 中,您会调用 ggplot(NULL, aes(x=column.counts)) + geom_histogram()。您可以查看这些功能的帮助,了解有关如何微调它们的详细信息。