Paweł Bielan

Paweł Bielan Student,
Politechnika Gdańska

Temat: Wektor w funkcji, gdy ją wywołuję.

Witam!

Weźmy dla przykładu jakąś prostą funkcję:
blabla<-function(a,b,c)
{
if(a>b)
{
d=c+b
} else d=a+b
d
}

I chcę ją wywołać używając nie poprzez wpisywanie:

blabla(3,4,2)

a poprzez użycie 'listy'. Jednak gdy robię to przy pomocy wektora:

g<-c(3,4,2)
blabla(g)

Otrzymuję błąd:

Error in blabla(g) : argument "b" is missing, with no default

Czy jest możliwość, żeby w jakiś sposób to obejść?

Temat: Wektor w funkcji, gdy ją wywołuję.

R nie widzi argumentu b i c, bo nie przypisujesz im wartości, a tylko pierwszemu, tj. a <- c(3,4,2).

Nie wiem... chodzi Ci o coś takiego? Działa dla blabla( c(3,4,2))

blabla<-function(a) {
if(a[1]>a[2]) {
d=a[3]+a[2]
} else {
d=a[1] + a[2]
}
d
}

A może coś takiego? Działa dla blabla( data.frame(a=3, b=4, c=2))
blabla<-function(x) {
if(x$a > x$b) {
d=x$c + x$b
} else {
d=x$a + x$b
}
d
}

PS: zdecyduj się, listy czy wektora, a może ramki danych?

Następna dyskusja:

maksymalizacja funkcji - co...




Wyślij zaproszenie do