我需要结束我的for循环,它创建整数列表的列表。循环遍历文件夹,提取每个文件夹中~13个图像的像素值。我需要将这些不同文件夹的结果组合在一起。我想将它们垂直地组合在一起,另外一个在另一个数据帧中(它们具有相同的列数)。我想要的是一个文件夹(没有for循环):Data.frame result of iteration trough one folder
我希望我的结果看起来像在图片中,每个下一次迭代的结果都粘贴在前一个的最后一行。列显示每个文件夹。
我试图:
1)将它们保存在一个列表中,然后尝试" as.data.frame"所有结果在一起,但我得到错误
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names =
TRUE, : arguments imply differing number of rows: 100, 63
因为行号不同。问题是我的情况下rownumbers总是不同的,我需要解决这个问题。
2)为每个文件夹创建一个列表,从每个文件夹中创建data.frame,然后将data.frames一起rbind,但是我得到以下内容
Error in match.names(clabs, names(xi)) : names do not match previous names
我不关心列名,它们也总是一样的。我只想将循环的每次迭代的结果粘贴到一个文件中,一个迭代垂直地在另一个文件下面。任何人都知道如何解决这个问题?
这是一个名为L2A_T33TYL_20170604T094031_AOT_20m的文件夹的列表列表(在将其转换为数据帧之前):
" $ L2A_T33TYL_20170604T094031_AOT_20m 1 165 166 162 162 204 207 205 210 261 261 260 261 353 357 349 353 340 340 341 343 360 [22] 363 361 366 441 443 443 443 262 262 266 264 209 209 209 209 266 261 265 230 233 230 [43] 232 221 225 223 225 342 338 339 336 312 309 312 309 327 328 298 293 328 328 298 293
$L2A_T33TYL_20170604T094031_B02_20m
[1] 153 132 146 134 209 214 150 149 216 191 181 202 88 66 95 102 214 209
208 182 203
[22] 230 215 216 299 263 305 308 241 176 161 192 138 155 131 133 146 152 163
195 152 175
[43] 213 155 197 192 370 248 275 267 243 271 252 225 216 113 142 164 170 157
172 148 134
$L2A_T33TYL_20170604T094031_B03_20m
[1] 524 438 450 491 568 541 493 486 744 649 657 678 448 423 422 494 670 694
658 624 553
[22] 520 544 556 797 663 848 804 873 601 588 678 431 488 420 464 449 429 522
613 506 604
[43] 555 419 534 482 639 552 528 577 601 761 679 574 527 447 427 511 489 569
567 471 506".
当我只将这个列表列表放到数据帧时,我没有遇到任何问题,因为所有列表的长度都相同。下一次迭代(通过下一个文件夹T33TYJ L2A_T33TXJ_20170604T094031_VIS_20m)将有一个另一个长度的列表列表。在for循环中,列表的连接列表如下所示:
"$L2A_T33TXJ_20170604T094031_VIS_20m
[1] 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 0 0 0 0
0 0 0 0
[29] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 42 42 42 40 40 40 40
40 40 40 40
[57] 41 41 41 41 41 41 41 41 42 42 42 42 40 40 40 40 41 41 41 41 40 40 40 40
40 40 40 40
[85] 0 0 0 0 40 40 40 40 0 0 0 0 40 40 40 40
$L2A_T33TXJ_20170604T094031_WVP_20m
[1] 1488 1487 1488 1487 1488 1487 1488 1487 1489 1488 1489 1488 1689 1675
1676 1681 1488
[18] 1488 1488 1488 0 0 0 0 0 0 0 0 0 0 0
0 0 0
[35] 0 0 0 0 0 0 0 0 0 0 1488 1488 1488 1488
1488 1488 1488
[52] 1488 1538 1488 1487 1488 1778 1775 1734 1763 1488 1488 1488 1488 1488
1488 1488 1488
[69] 1488 1488 1488 1488 1488 1488 1488 1488 1833 1488 1488 1607 1488 1488
1488 1488 0
[86] 0 0 0 1488 1488 1488 1488 0 0 0 0 1488 1488 1488
1488
$L2A_T33TYL_20170604T094031_AOT_20m
[1] 165 166 162 162 204 207 205 210 261 261 260 261 353 357 349 353 340 340
341 343 360
[22] 363 361 366 441 443 443 443 262 262 266 264 209 209 209 209 266 261 265
230 233 230
[43] 232 221 225 223 225 342 338 339 336 312 309 312 309 327 328 298 293 328
328 298 293"
在这里,您可以找到我用来完成此操作的代码。 rbind data.frames with same number of columns but different number of rows in a for loop, exactly one bellow another (vertically)