R:如何创建一个复制每四列并创建一个新csv的循环

时间:2017-08-22 00:39:16

标签: r for-loop indexing

我正在使用这个脚本,但我需要帮助完成这个循环。

所以,我有两个包含这些数据的数据框:

    > print(df1)
# A tibble: 278 x 476
       X__3  X__4  X__5  X__6     X__7
      <chr> <chr> <chr> <chr>    <chr>
 1 21340.59   446  1456   278 23682.23
 2 33830.18   706  1729   386 40571.88
 3 37470.65   765  2783   404 36837.99
 4 20069.07   401  1850   244 25033.11
 5 25521.06   426  4250   228 26447.16
 6 53233.17  1161  2216   545 52072.19
 7 34075.87   746  5083   375 34782.48
 8 30410.16   653  3688   330 28270.09
 9 61661.07  1193  4611   665 81029.73
10 17801.79   337  1754   192 16907.32

另一个数据框(fixa):

 > print(fixa)
# A tibble: 278 x 2
    place name
    <chr>    <chr>
 1    AB1  114_AAY
 2    CD1  129_STA
 3    EF1  123_PWA
 4    EF1  135_MXY
 5    AB1  127_AID
 6    CD1  152_STO
 7    GH1  156_MCO
 8    CD1  195_KZS
 9    EF1  190_SLO
10    GH1  197_KYZ
# ... with 268 more rows

我需要从“df1”复制四到四列(到最后)并匹配“fixa”的列并创建一个新的数据帧“newdf”

x <- df1[1:476]
verif <- 1

for (i in x){
  idx = i
  idxEnd = i+3
  i = -i+4
  new[verif] <- cbind(fixa, df[idx:idxEnd])
  B2csv<-Paste0(newdf[verif], idx, "-", idxEnd,".csv")
  Save.csv(B2csv)
}

我的输出是这样的,但每个都保存在csv文件中:

    print(newdf1)
       place name    results       qty     shops
1      AB1  114_AAY  21340.59      446     1456
2      CD1  129_STA  33830.18      706     1729
3      EF1  123_PWA  37470.65      765     2783
4      EF1  135_MXY  20069.07      401     1850

但我不知道我哪里出错了。提前感谢您的帮助。

0 个答案:

没有答案