我是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"
函数的公式是否正确。
有什么提示吗?任何帮助表示赞赏!
答案 0 :(得分:1)
问题是write.csv
需要对象参数'x',而该参数在循环中没有提供。它将'collaraccuracy1'感知为file
。
...
write.csv(x = collar, collaraccuracy1)
}