R - 根据给定值返回多个文件中非N / A行的计数

时间:2016-05-04 11:36:01

标签: r dataframe

注意:以下所有内容均在R Studio版本0.99.491

我正在尝试读取一些文件(qty.50) 在这些文件中有一个NA值的数值,所以我需要排除这些值,只计算完整行的数量。

当我输出结果时,我想改变列名和订单。

我想我已经将读取文件排序了,但它是计数完成行位和更改标题,我正在努力。

非常感谢任何帮助。

EXAMPLE DATA
1.csv
Date                Temp C  Rain mm SensorID
01/01/2016 12:00    26.0    0.0     1
02/01/2016 12:00    24.3    0.0     1
03/01/2016 12:00    N/A     3.1     1
04/01/2016 12:00    17.5    2.0     1
05/01/2016 12:00    15.8    N/A     1
06/01/2016 12:00    22.6    N/A     1

2.csv
Date                Temp C  Rain mm SensorID
01/01/2016 12:00    9.0     6.2     2
02/01/2016 12:00    7.3     1.0     2
03/01/2016 12:00    14.1    0.0     2
04/01/2016 12:00    12.4    0.2     2
05/01/2016 12:00    N/A     2.9     2
06/01/2016 12:00    N/A     N/A     2

到目前为止我的R功能看起来像这样;

total_cases <- function(directory, id = 1:50) {
        files_list <- list.files("temperatures", full.names=TRUE)
        tempdf <- data.frame()
        for (i in 1:50) {
                tempdf <- rbind(tempdf, read.csv(files_list[i]))
        }
        tempdf_subset <- tempdf[which(!is.na(tempdf[, "ID"] %in% id),)]
        nrow(temp_subset)
}

理想情况下,我想提出以下查询之一并获得响应,如下所示:

total_cases("temperatures", 1)
      SensorID CountTemps 
[1]   1        3


total_cases("temperatures", 2)
      SensorID CountTemps
[1]   2        4


total_cases("temperatures", c(1,2)
      SensorID CountTemps
[1]   1        3
[1]   2        4

非常感谢所有人花时间在这上面。 马特

0 个答案:

没有答案