for循环中长度为0的参数

for循环中长度为0的参数,r,loops,dataframe,R,Loops,Dataframe,我有两个数据帧eeg和p1_1_a和一个空列表: 但我得到了一个错误: 1:nrowp1_1_a$Time中出错:长度为0的参数 我希望你能帮助我。有问题吗 nrow是在数据帧上调用的函数。p1_1_a是一个数据帧。p1_1_$Time是一个列表 nrowp1_1_a$Time的计算结果为NULL,因此您的错误消息告诉您。如果您尝试以下方法,这是有意义的: for(i in 1:NULL){ print(i) } 期望看到: 1中出错:NULL:长度为0的参数 解决方案1 您可以重新写入循

我有两个数据帧eeg和p1_1_a和一个空列表:

但我得到了一个错误:

1:nrowp1_1_a$Time中出错:长度为0的参数

我希望你能帮助我。

有问题吗 nrow是在数据帧上调用的函数。p1_1_a是一个数据帧。p1_1_$Time是一个列表

nrowp1_1_a$Time的计算结果为NULL,因此您的错误消息告诉您。如果您尝试以下方法,这是有意义的:

for(i in 1:NULL){
  print(i)
}
期望看到:

1中出错:NULL:长度为0的参数

解决方案1 您可以重新写入循环以使用长度而不是nrow,因为您在列表上循环数据帧中的列是列表:

for(i in 1:length(p1_1_a$Time)){
  if(eeg$wave_1 <= p1_1_a$Time[i]){
    list <- max(eeg$wave_1 <= p1_1_a$Time[i])
  }
}

请使用dputheadeeeg使您的数据易于复制。
for(i in 1:NULL){
  print(i)
}
for(i in 1:length(p1_1_a$Time)){
  if(eeg$wave_1 <= p1_1_a$Time[i]){
    list <- max(eeg$wave_1 <= p1_1_a$Time[i])
  }
}
for(i in 1:nrow(p1_1_a)){
  if(eeg$wave_1 <= p1_1_a$Time[i]){
    list <- max(eeg$wave_1 <= p1_1_a$Time[i])
  }
}