为循环输出创建多个文件

时间:2019-02-12 11:51:10

标签: r csv for-loop

我是R语言的初学者,所以我希望这个问题对大多数人都有意义。

以下是我正在使用的collar文件的示例:

     observed predicted probability results1
1     Head-up   Grazing   0.2727273 NEGATIVE
2     Head-up   Grazing   0.7272727 NEGATIVE
3     Head-up   Grazing   0.7272727 NEGATIVE
4     Head-up   Grazing   0.5454545 NEGATIVE
5     Head-up   Grazing   0.7272727 NEGATIVE
6     Head-up   Grazing   0.4545455 NEGATIVE
7     Head-up Vigilance   0.3636364 NEGATIVE
8     Head-up   Grazing   0.3636364 NEGATIVE
9     Head-up Vigilance   0.3636364 NEGATIVE
10    Unknown   Grazing   0.3636364 NEGATIVE
11     Moving   Head-up   0.4545455 NEGATIVE
12     Moving   Grazing   0.3636364 NEGATIVE
13    Head-up   Grazing   0.4545455 NEGATIVE
14    Head-up   Grazing   0.3636364 NEGATIVE
15    Head-up   Grazing   0.4545455 NEGATIVE
16    Head-up   Grazing   0.3636364 NEGATIVE
17    Head-up   Head-up   0.4545455 POSITIVE
18    Head-up   Grazing   0.2727273 NEGATIVE

接下来,我打算创建一个for循环,该循环将添加第5列"results2"。由于第5列"results2"的结果取决于一个i值,范围从0到1,并且递增0.1,所以我想为每个i值(其中{{ 1}},i=0等,直到i=0.1)。到目前为止,这是我一直在尝试的方法:

i=1

这是运行循环时R打印的内容。名称完全符合我的要求:

#Creating the for loop for column results 2 with i [0:1] increasing of 0.1. The file collar is the full file from the sample above.

for (i in seq(0, 1, by = 0.1))
{collar$results2<-mutate(collar,results2 = case_when( (probability > i & results1 == "POSITIVE") | (probability < i & results1 == "NEGATIVE") ~ TRUE, TRUE ~ FALSE) )
as.character(collar$results2)

#Writing down Excel files for each i value
collaraccuracy1=paste('collar41361_41365', i, 'csv', sep = '.')
write.csv(collaraccuracy1)}

但是,我在计算机的任何地方都找不到文件,我想知道"","x" "1","collar41361_41365.0.csv" "","x" "1","collar41361_41365.0.1.csv" "","x" "1","collar41361_41365.0.2.csv" "","x" "1","collar41361_41365.0.3.csv" "","x" "1","collar41361_41365.0.4.csv" "","x" "1","collar41361_41365.0.5.csv" "","x" "1","collar41361_41365.0.6.csv" "","x" "1","collar41361_41365.0.7.csv" "","x" "1","collar41361_41365.0.8.csv" "","x" "1","collar41361_41365.0.9.csv" "","x" "1","collar41361_41365.1.csv" 函数的公式是否正确。

有什么提示吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

问题是write.csv需要对象参数'x',而该参数在循环中没有提供。它将'collaraccuracy1'感知为file

...
    write.csv(x = collar, collaraccuracy1)
  }