Выход функции which()
является вектором, поэтому, если для функции which()
не найдено значение integer(0)
, поэтому я рекомендую вместо того, чтобы в вашем if
утверждении n[1] == 1
изменить его на if( length(n) > 0 )
это означает, что в данном столбце есть совпадение.
На ваш второй вопрос простым способом является использование индекса data.frames для итерации по столбцам
n_columns <- ncol(Week)
# this will iterate through all the columns.
for( i in 1:n_columns ){
idx <- which(Week[ , i] == "S")
}
Очевидно,это обновит значение idx в каждом для итерации, поэтому вы хотите сохранить выходные данные True, False в векторе, если сохраняете распечатки 'true' / 'false'.
В коде скобкиозначает Week[ rows , columns]
если нет ввода, как в моем примере Week[ , i ]
, это означает, что вы хотите получить все строки для столбца I.
Надеюсь, это поможет!