私は次の関数を書きました:
x <- 1:4
y <- c(1,2,7,4)
mydf <- data.frame(a=x,b=x,c=x,d=x,y=y)
practice <- function(x) if( x[1] == x[5]) {
foo <- (x[2])
return(foo)
} else {
bar <- x[3] + x[4]
foobar <- x[2] - bar
return(foobar)
}
newmydf <- apply( mydf, 1, practice)
これは、提供されたもので正常に機能しdata.frame
ます。しかし、私は別のものを持っていてdata.frame
、私は得続けます
Error in x[3] + x[4] : non-numeric argument to binary operator
次のにもかかわらずstr()
'data.frame': 133 obs. of 19 variables:
$ : chr ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : int ...
$ : num ...
$ : int
$ : int
どんな小さなスリップアップを作ることができますか?新しいセッションを開始しましたが、同じ問題が発生します。