Я работаю над модификацией существующего сценария R, и я в основном собираю R, изучая его. У меня нет сильного фона программирования (я учусь), и поэтому я надеюсь, что кто-то может просто помочь объяснить часть этого цикла. (Обратите внимание, это использование ggplot2 среди других пакетов)Я запутался в сегменте R для цикла
files <- unique(SQLTable$file_names)
for (i in 1:3){
dat <- subset(SQLTable,file_names==files[])
g <- ggplot(dat) + geom_point(aes(x = id, y = Value), size = 1, shape = 19, colour = 'red') +
geom_line(aes(x = id, y = Value), size =.5) +
facet_grid(Measure ~., scales = "free")
print(g)
}
Не беспокойтесь о SQLTable, file_names, идентификатор или стоимость, те все либо SQL-таблицы или имена столбцов. Вышеприведенный код является частью более крупного скрипта, но я пытаюсь выяснить, что делает (i in 1: 3) в цикле for. Я в значительной степени получаю все остальное, что происходит в цикле, но я изменил его, чтобы быть (i в 1: 2) полностью до (i в 1: 100), и это, похоже, не сильно меняет , Так в чем же цель? Почему именно 1: 3? Я надеюсь, что это не зависит от других вещей, но если это так, может быть, вы можете просто объяснить, что делает эта часть?
EDIT: Когда я запустил этот раздел кода, я получаю следующее сообщение 6 раз. geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?
следует
Warning messages:
1: In File_names == secnarios[]:
longer object length is not a multiple of shorter object length
2: In File_names == secnarios[]:
longer object length is not a multiple of shorter object length
3: In File_names == secnarios[]:
longer object length is not a multiple of shorter object length
Когда я запускаю код с file_names==files[i]
затем я получаю это:
geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?
Warning messages:
1: In loop_apply(n, do.ply) :
Removed 3 rows containing missing values (geom_point).
2: In loop_apply(n, do.ply) :
Removed 3 rows containing missing values (geom_point).
3: In loop_apply(n, do.ply) :
Removed 3 rows containing missing values (geom_path).
4: In loop_apply(n, do.ply) :
Removed 3 rows containing missing values (geom_path).
Я не вижу 'i' внутри цикла и, следовательно, ожидаемое поведение. – user227710
Вероятно, вы должны иметь файлы 'file_names == [i]', чтобы он создавал другой график для каждого набора файлов. Сейчас он делает один и тот же сюжет три раза подряд. –
может быть, это должно быть, но оно не настроено так. Есть ли причина для его настройки без 'i'? – David