我有一个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编程很新,并且遇到了这个问题。
提前感谢您的帮助。
答案 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))