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

时间:2015-08-04 21:26:37

标签: r dataframe histogram

我的表格中有数据:

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中完成?这是一个数据框。

1 个答案:

答案 0 :(得分:1)

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

# 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))

有几种方法可以制作直方图。在基数R中,您只需拨打hist(column.counts)hist(row.counts)即可。在ggplot2,您需要拨打ggplot(NULL, aes(x=column.counts)) + geom_histogram()。您可以查看这些函数的帮助,以获取有关如何微调它们的详细信息。