noob question;) как заставить список перезаписать условие в функции?когда я запускаю
mylist <- list(a = 3, b = c(2,8), c = c(1,4))
sumit<-function(v){x<-v$a + v$b + v$c}
x<-sumit(mylist)
, он, конечно, правильно возвращает 6 и 15 (переработка mylist $ a).Но если я хочу запустить
sumit<-function(v){
x<-v$a + v$b + v$c
if (v$c ==1) x<-x*100
}
x<-sumit(mylist)
Он не хочет перезапускать условие и использует для обоих случаев mylist$c = 1
, что приводит к 600 и 1500 вместо 600 и 15
Как вы заставляетеэто перерабатывать аргументы?Я видел функцию recycle из библиотеки rebus, но она конфликтует с несколькими другими пакетами, которые я использую, и я не хочу перемещать $c
к аргументам, так как я не знаю в процессе, какой элемент списка будет иметь какую длину - иногда cможет иметь 3 значения, иногда b и т. д.
И я не хочу, чтобы он разбивался на sumit (a, b, c), разделяя список на 3 вектора