我的表格中有数据:
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中完成?这是一个数据框。
答案 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()
。您可以查看这些函数的帮助,以获取有关如何微调它们的详细信息。