计算R中数据框中长度不同的列的行数

时间:2014-07-10 21:03:19

标签: r count

我有一个100列的数据框,长度从25到500行不等。我试图计算几个特定列的行数。它看起来像这样:

    Col1   Col2   Col3
1     25     23     20
2     22     28     20
3     35     33     30
4     NA     40     41
5     NA     NA     43

如果我使用

rows = nrows (mydatafrom$col1)

它返回NA。

rows = NROWs (mydataframe)

返回最长列的行数。

我也想知道数据帧中显示为NA的空白单元是否会导致一些问题。我在Excel中准备了数据并使用read.csv将其导入R.空单元格在R中显示为NA。 有没有办法计算这个数据帧的各列的行数?我对R编程很新,并且遇到了这个问题。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

我认为您正在寻找:

sapply(mydataframe,function(x) sum(!is.na(x)))

从技术上讲,我们不会将这种情况称为具有不同行数的列的数据框。数据框只有一个行数。您实际上只计算每列中有多少个非缺失值。

答案 1 :(得分:2)

如果您正在寻找在给定列中不计算NA值的方法,您可以使用:

length(na.omit(mydatafrom$col1))

sum(! is.na(mydatafrom$col1))

答案 2 :(得分:2)

另一种选择:

colSums(!is.na(mydataframe))