循环中的数据处理有麻烦

时间:2018-07-23 01:00:48

标签: r loops

我有一个循环,可以将数据保存到文件中

wartosc_wierszy = dane_for*10
skok <- 2
for (i in 1:powtorzenia) {
    wynik_petli_P.P0.1 = wartosc_wierszy*i - wartosc_wierszy + skok 
    write.table(wynik_petli_P.P0.1,
        file="wynik_petli_P.P0.1.txt", append=TRUE, row.names=F, quote=FALSE, na=" ", col.names=FALSE)
}
  

wartosc_wierszy   [1] 200

     

dane_for   [1] 20

     powtorzenia   [1] 5

这是结果

 2
202
402
602
802
2
202
402
602
802
2
202
402
602
802

我希望每次通过后值增加+10   例如

12
212
412
812

ect。

2 个答案:

答案 0 :(得分:2)

您可以不只在10循环中添加for吗?

dane_for <- 20
wartosc_wierszy <- dane_for * 10
skok <- 2
powtorzenia <- 5
for (i in 1:powtorzenia) {
    wynik_petli_P.P0.1 <- wartosc_wierszy * i - wartosc_wierszy + skok + 10
    print(wynik_petli_P.P0.1)
    #write.table(wynik_petli_P.P0.1, file="wynik_petli_P.P0.1.txt",append=TRUE, row.names=F,quote=FALSE,na=" ",col.names=FALSE)
}
#[1] 12
#[1] 212
#[1] 412
#[1] 612
#[1] 812

答案 1 :(得分:2)

这可以使用seqrep的矢量化方式完成

seq(2, length.out = 5, by = 200) + rep(seq(0, 50, by = 10), each = 5)
#[1]   2 202 402 602 802  12 212 412 612 812  22 222 422 622 822  32 232 432 632
#[20] 832  42 242 442 642 842  52 252 452 652 852