Dear Members
I have a data frame as generated below. I like to be able to call a
function both with a vector and a vector (mydata$v1) in that data frame
(v1). The first call works, but the second does not. Can someone help me
with the second call? Thanks!!

---
mydata<-data.frame(matrix(1:20,ncol=2))
colnames(mydata) <-c("v1","v2")
summary(mydata)

aaa<-function(data,w=w){
  if(is.vector(w)){
    out<-mean(w)
  } else {
    out<-mean(data[wt])
  }
return(out)
}

aaa(mydata,mydata$v1)
aaa(mydata,"v1")      # want this call to work

---
Printout with error message

mydata<-data.frame(matrix(1:20,ncol=2))
colnames(mydata) <-c("v1","v2")
summary(mydata)
       v1              v2
 Min.   : 1.00   Min.   :11.00
 1st Qu.: 3.25   1st Qu.:13.25
 Median : 5.50   Median :15.50
 Mean   : 5.50   Mean   :15.50
 3rd Qu.: 7.75   3rd Qu.:17.75
 Max.   :10.00   Max.   :20.00

aaa<-function(data,w=w){
+   if(is.vector(w)){
+     out<-mean(w)
+   } else {
+     out<-mean(data[wt])
+   }
+ return(out)
+ }
aaa(mydata,mydata$v1)
[1] 5.5
aaa(mydata,"v1")
[1] NA
Warning message:
In mean.default(w) : argument is not numeric or logical: returning NA


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to