Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
r中的错误消息:没有要聚合的行_R_Csv_Error Handling - Fatal编程技术网

r中的错误消息:没有要聚合的行

r中的错误消息:没有要聚合的行,r,csv,error-handling,R,Csv,Error Handling,我正在运行一个用r语言编写的程序,该程序旨在将多个csv数据文件编译成一个csv文件,然后生成一个输出文件,其中包含对组合文件中选定的几个变量进行简单计算的输出。后面的过程是通过使用组合文件作为输入,选择变量并指定我需要的值的类型来完成的。除此之外,每天都会获得数据文件,并通过r程序获得一些分析,如选定时间间隔内数据的最小值、最大值、平均值或总和 继续讨论这个程序的问题,该程序通常能够生成组合的csv文件,没有太多问题,但是当涉及到生成输出文件的部分时,该程序有时会生成聚合错误消息: aggre

我正在运行一个用r语言编写的程序,该程序旨在将多个csv数据文件编译成一个csv文件,然后生成一个输出文件,其中包含对组合文件中选定的几个变量进行简单计算的输出。后面的过程是通过使用组合文件作为输入,选择变量并指定我需要的值的类型来完成的。除此之外,每天都会获得数据文件,并通过r程序获得一些分析,如选定时间间隔内数据的最小值、最大值、平均值或总和

继续讨论这个程序的问题,该程序通常能够生成组合的csv文件,没有太多问题,但是当涉及到生成输出文件的部分时,该程序有时会生成聚合错误消息:

aggregate.date.frame中出现错误(mf[1L],mf[-1L],FUN=FUN,…): 没有要聚合的行

此错误消息仅在某些组合数据文件中出现,这使我更加困惑,因为导致此问题的组合csv文件中的数据与未导致此问题的组合文件没有任何区别。然而,目前我仍然怀疑组合数据csv文件而不是程序应该有问题,因为该程序通常适用于许多分析案例

基本上,程序使用聚合函数来计算输出文件

我对使用r很陌生,我正在使用的程序包括几个阶段,所以如果我的解释不清楚,我很抱歉


至少,我想知道这种聚合错误的可能原因是什么。提前感谢。

给出此错误是因为传递给聚合的对象(与
x
匹配的对象)没有行

下面给出了函数的前10行:

> head(aggregate.data.frame, 10)

1  function (x, by, FUN, ..., simplify = TRUE)                               
2  {                                                                         
3      if (!is.data.frame(x))                                                
4          x <- as.data.frame(x)                                             
5      FUN <- match.fun(FUN)                                                 
6      if (NROW(x) == 0L)                                                    
7          stop("no rows to aggregate")                                      
8      if (NCOL(x) == 0L) {                                                  
9          x <- data.frame(x = rep(1, NROW(x)))                              
10         return(aggregate.data.frame(x, by, function(x) 0L)[seq_along(by)])
>头部(aggregate.data.frame,10)
1函数(x,by,FUN,…,simplify=TRUE)
2  {                                                                         
3如果(!是数据帧(x))

4 x给出此错误是因为传递给聚合的对象(与
x
匹配的对象)没有行

下面给出了函数的前10行:

> head(aggregate.data.frame, 10)

1  function (x, by, FUN, ..., simplify = TRUE)                               
2  {                                                                         
3      if (!is.data.frame(x))                                                
4          x <- as.data.frame(x)                                             
5      FUN <- match.fun(FUN)                                                 
6      if (NROW(x) == 0L)                                                    
7          stop("no rows to aggregate")                                      
8      if (NCOL(x) == 0L) {                                                  
9          x <- data.frame(x = rep(1, NROW(x)))                              
10         return(aggregate.data.frame(x, by, function(x) 0L)[seq_along(by)])
>头部(aggregate.data.frame,10)
1函数(x,by,FUN,…,simplify=TRUE)
2  {                                                                         
3如果(!是数据帧(x))

4 x只需键入函数名
aggregate.data.frame
,即可查看
aggregate.data.frame()的源代码,如果
NROW(x)
为零,则会出现此错误。如果
mf[1]
没有维度和长度为零,或者其第一维度为零,则会发生此错误


如果没有更多的上下文,就不可能说出这是如何发生的,但是请看一看,以获得关于进一步调试的一些想法。

只需键入函数名
aggregate.data.frame()
,就可以查看
NROW(x)的源代码,您将看到如果
NROW(x)出现此错误
为零。如果
mf[1]
没有维度和长度为零,或者其第一维度为零,则会发生这种情况


如果没有更多的上下文,就无法说明这是如何发生的,但请看一看,以获得有关进一步调试的一些想法。

我假定您指的是
aggregate.data.frame
,而不是
aggregate.date.frame
?如果其中一列无法聚合,也可能会出现此错误。例如,如果您的函数是“sum”,但其中一列是逻辑列或字符列。我假定您指的是
aggregate.data.frame
,而不是
aggregate.date.frame
?如果其中一列无法聚合,也可能会出现此错误。例如,如果函数为“sum”,但其中一列是逻辑列或字符列。