【问题标题】:Recursive Index Failed递归索引失败
【发布时间】:2016-06-10 10:24:30
【问题描述】:

这是我的示例数据集。

     Id     longt    latit.   Count  V1  V2  V3  V4  V5  V6  V7
    19969   86.3603 23.8024     6    9   10  16  17  22  23  0
    19969   86.3602 23.8033     5    10  16  17  22  23  0   0

如果任何其他行中的任何点相同,我想合并这两行。 V1、V2...表示当前点半径100m内的点的索引。一次又一次,我在第 1 行遇到错误。第6148章:

Error in `*tmp*`[[j]] : recursive indexing failed at level 2

如果您需要更多信息,请告诉我!! 这是我使用的代码。

book <- data.frame(book)
book <- as.data.frame.matrix(book)
temp <- data.matrix(book)

S <- 0
k <- 102
for (i in 1:(nrow(book) - 1))
{
  if (book[i, 6] < 3) {
    book[i, 1] <- 0
    next
  }
  if (book[i, 1] == book[i + 1, 1]) {
    for (j in (i + 1):nrow(book))
    {
      if (book[i, 1] != book[j, 1] & book[j, 1] != "0") {
        break
      }

      for (q in 7:(6 + book[i, 6]))
      {
        t <- (book[i, q])
        print(i)
        print(q)
        print((book[i, q]))
        if (distm(cbind(book[t, 3], book[t, 2]),
    cbind(book[j, 3], book[j, 2]), fun = distHaversine) < 100) {
          S <- book[i, 6] + book[j, 6]
          X <- book[i, 6]
          Z <- book[j, 6]
          if (S - k > 0) {
            for (m in 1:(S - k))
            {
              book <- data.frame(book)
              book <- as.data.frame.matrix(book)
              B <- matrix(0, nrow(book), 1)
              book <- cbind(book, B)
              k <- S
            }
          }
          book[i, 7:(6 + length(unique(c(
            temp[i, 7:(6 + temp[i, 6])], temp[j, 7:(6 + temp[j, 6])]
          ))))] <-
            unique(c(temp[i, 7:(6 + temp[i, 6])], temp[j, 7:(6 + temp[j, 6])]))

          # if(Z!=0)
          # { for(p in 0:(Z-1) )
          # { book[i,(7+X+p)] <- book[j,(7+p)] }

          #  }
          book[i, 6] <-
            length(unique(c(temp[i, 7:(6 + temp[i, 6])], temp[j, 7:(6 + temp[j, 6])])))

          book[j, 1] <- 0
          break
        }
      }
      book[is.na(book)] <- 0
    }
  }
  for (f in 8:(6 + S))
  {
    book[book[i, f], 1] <- 0
  }
}

我得到错误的数据集:

23918   86.7266 23.8197 31-03-16 4:54-- 31-03-16 5:03   0   0   0   0   0   0   0   0   0   0   0   0
23924   86.3249 23.809  25-03-16 12:23--    25-03-16 12:31  8   6140    6141    6147    6154    6155    6156    6168    6174    0   0   0
23924   86.3254 23.809  25-03-16 12:31--    25-03-16 12:39  10  6141    6147    6148    6155    6156    6157    6162    6168    6174    6183    0
23924   86.3266 23.8089 25-03-16 12:42--    25-03-16 13:17  9   6142    6148    6149    6157    6158    6162    6175    6183    6184    0   0
23924   86.3282 23.8034 25-03-16 13:22--    25-03-16 13:32  6   6143    6159    6169    6176    6185    6186    0   0   0   0   0
23924   86.3326 23.7991 25-03-16 13:32--    25-03-16 14:04  5   6144    6150    6160    6170    6177    0   0   0   0   0   0
23924   86.5447 23.8214 25-03-16 14:51--    25-03-16 15:14  1   6145    0   0   0   0   0   0   0   0   0   0
23924   86.6195 23.801  25-03-16 15:25--    25-03-16 15:32  7   6146    6151    6164    6171    6178    6179    6187    0   0   0   0
23924   86.3254 23.809  25-03-16 20:27--    25-03-16 20:33  9   6147    6148    6155    6156    6157    6162    6168    6174    6183    0   0
23924   86.326  23.8091 25-03-16 20:33--    25-03-16 20:52  11  6148    6149    6156    6157    6158    6162    6168    6174    6175    6183    6184
23924   86.3264 23.8088 25-03-16 20:52--    25-03-16 21:06  8   6149    6157    6158    6162    6168    6175    6183    6184    0   0   0
23924   86.3322 23.7988 25-03-16 21:18--    25-03-16 22:16  4   6150    6160    6170    6177    0   0   0   0   0   0   0
23924   86.6195 23.801  25-03-16 23:11--    25-03-16 23:26  6   6151    6164    6171    6178    6179    6187    0   0   0   0   0
23924   86.6878 23.79   25-03-16 23:35--    26-03-16 0:13   4   6152    6172    6180    6191    0   0   0   0   0   0   0
23924   86.7264 23.8197 26-03-16 0:39-- 26-03-16 0:46   7   6153    6165    6173    6181    6182    6188    6192    0   0   0   0
23924   86.3241 23.8093 26-03-16 12:58--    26-03-16 13:53  2   6154    6155    0   0   0   0   0   0   0   0   0

【问题讨论】:

    标签: r


    【解决方案1】:

    错误是由于列数少于所需列数。 k=102 是一个荒谬的数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 2022-11-08
      • 1970-01-01
      • 2011-07-08
      • 2019-03-01
      • 2017-11-01
      • 1970-01-01
      相关资源
      最近更新 更多