Простите мое невежество, но я был бы признателен, если кто-то объяснит мне, почему я получаю этот результат. Я ожидаю, что результат будет пустым, потому что я хотел, чтобы перебрать число строк и число строк равно 0. Вместо этого он перебирает 2 раза:Почему для n в 1: 0 в итерациях 2 раза в R?
> df<-data.frame()
> nrow(df)
[1] 0
> for(n in 1:nrow(df)){ cat("foo")}
foofoo
Кроме того, что правильное выражение итерации над количество строк в файле data.frame?
UPDATE:
Спасибо за комментарии. Я заменил 1:nrow(df)
seq_len(nrow(df))
и он работает. 1: 0 фактически содержащий два элемента и и перебирает эти элементы:
> 1:0
[1] 1 0
По этой причине '1: nrow (df)' не следует использовать. Вместо этого используйте 'seq_len (nrow (df))'. – nicola
@nicola вы должны опубликовать это как ответ. :) – Therkel