Создание нескольких файлов для вывода цикла - PullRequest
0 голосов
/ 12 февраля 2019

Я довольно новичок в 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, я хочу создать несколько файлов Excel для каждого значения i (где i=0, i=0.1 и т. Д.до 1014 *).Вот что я пробовал до сих пор:

#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)}

Это то, что печатается R при запуске цикла.Имена точно такие, как я хочу:

"","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"

Однако я нигде не могу найти файлы на моем компьютере, и мне интересно, правильно ли сформулирована функция write.csv ..

Есть советы?Любая помощь приветствуется!

1 Ответ

0 голосов
/ 12 февраля 2019

Проблема в том, что write.csv нужен объектный параметр 'x', который не представлен в цикле.Он воспринимает «collaraccuracy1» как file.

...
    write.csv(x = collar, collaraccuracy1)
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...