Hello,

I use R 2.10, and I am new in R (I used to use SAS and lately Stata), I am
using XP.

I have a data which has a data.frame format called x.df (read from a csv
file). I want to take from this data observations for which the variable
"Code" starts with an "R". I took all the Code and put them into a vector
vec<-grep("R[A-Z][A-Z]",x.df$Code,value=TRUE)

Then I created a function that is supposed to take all the lines in the my
data x.df for which "Code" equals one value of "vec". See the code below
where I created a loop to do that.

> myfunc<-function(data,var2,var1)
+ {
+ i=1
+ while (i<632){
+ line<-subset(data,var2==var1[i])
+ if (i==1){
+ df<-line
+ df<-data.frame(df)
+ }
+ else {
+ line<-data.frame(line)
+ df<-rbind(df,line)
+ }
+ i<-i+1
+ }
+ fix(df)
+ }
>

The results of my program higly depend on the few last lines of the program.
If I put "fix(df)", as above, the function opens a window with my data and
it seems a sensible results (I have not checked in details but I barely have
what I am suppose to get).
> myfunc<-function(data,var2,var1)
...
+ }
+ df<-data.frame(df)
+ print(is.data.frame(df))
+ }
> myfunc(x.df,x.df$Code,vec)
[1] TRUE
> print(is.data.frame(df))
[1] FALSE

In the case above I ask whether or not the "df" is a data.frame and the
answer is true, when the program has ended, I ask again and the answer is
false.

Could anyone tell me what to do to get this data and could anyone tell me
why those differences in the results?

> as.data.frame(df)
Erreur dans as.data.frame.default(df) :
  impossible de convertir automatiquement la classe  "function" en un
tableau de données (data.frame)
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
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