Я довольно новичок ie в R, поэтому, пожалуйста, будьте снисходительны. Это должно быть что-то действительно простое. У меня есть функция, которую я хотел бы выполнить для каждого элемента данных. Минимальный пример:
agenericfunction = function(pos) {
print(pos)
}
Когда я вызываю функцию следующим образом:
apply(as.data.frame(1:5), 1, agenericfunction)
Вот что я получаю:
1:5
1
1:5
2
1:5
3
1:5
4
1:5
5
[1] 1 2 3 4 5
Но если я изменю функцию как это:
agenericfunction = function(pos) {
print(paste0("_",pos))
}
Затем я получаю то, что обычно ожидаем:
[1] "_1"
[1] "_2"
[1] "_3"
[1] "_4"
[1] "_5"
[1] "_1" "_2" "_3" "_4" "_5"
Я не понимаю, почему моя целочисленная переменная 'pos' преобразуется в первом случае в какой-то странный вещь, которая провоцирует этот вывод. Если я использую функцию «класс» для «pos», он всегда говорит, что это целое число (в любом из двух случаев выше). Может ли кто-нибудь объяснить это поведение?
Заранее спасибо и наилучшими пожеланиями