Hi all,

Thanks for the help.  Jeffrey was right; my initial dataframe did not have
the columns defined for factors.  I solved it using Jorge's example of using
as.character.

Sorry for not being more clear before.

Wade

On Fri, Nov 5, 2010 at 4:12 PM, Jeffrey Spies <jsp...@virginia.edu> wrote:

> Perhaps this will help:
>
> > test1 <- test2 <- data.frame(col1=factor(c(1:3), labels=c("a", "b",
> "c")))
> > test3 <- data.frame(col1 = 1:3)
>
> Now:
>
> > test2[2,1] <- test1$col1[1]
> > test2$col1
> [1] a a c
> Levels: a b c
>
> vs
>
> > test3[2,1] <- test1$col1[1]
> > test3$col1
> [1] 1 1 3
>
> Because test3's first column, col1, is a vector of numeric, and each
> element of a vector must have the same data type (numeric, factor,
> etc), it will coerce the data coming in to have the same data type (if
> it can).  In this case, the data type is numeric.  Had it been a
> character coming in, because it can't coerce a character to a numeric,
> it would have made the entire vector a vector of characters:
>
> > test3[2,1] <- 'b'
> > test3$col1
> [1] "1" "b" "3"
>
> Hope that demonstrates what's probably going on,
>
> Jeff.
>
> On Fri, Nov 5, 2010 at 3:54 PM, Wade Wall <wade.w...@gmail.com> wrote:
> > Hi all,
> >
> > I have a dataframe (df1) that I am trying to select values from to a
> second
> > dataframe that at the current time is only for the selected items from
> df1
> > (df2).  The values that I am trying to save from df1 are factors with
> > alphanumeric names
> >
> > df1 looks like this:
> >
> > 'data.frame':   3014 obs. of  13 variables:
> >  $ Num         : int  1 1 1 2 2 2 3 3 3 4 ...
> >  $ Tag_Num     : int  1195 1195 1195 1162 1162 1162 1106 1106 1106 1173
> ...
> >  $ Site        : Factor w/ 25 levels "PYBR002A","PYBR003B",..: 1 1 1 1 1
> 1 1
> > 1 1 1 ...
> >  $ Site_IndNum : Factor w/ 1044 levels "PYBR002A_001",..: 1 1 1 2 2 2 3 3
> 3
> > 4 ...
> >  .... ...
> >  $ Area        : num  463.3 29.5 101.8 152.9 34.6 ...
> >
> > However, whenever I try to assign values, like this
> >
> > df2[j,1]<-df2$Site[i]
> >
> > the values are changed from alphanumeric (e.g. PYBR003A) to numerals
> (e.g.
> > 1).
> >
> > Does anyone know why this is happening and how I can assign the actual
> > values from df1 to df2?
> >
> > Thanks in advance,
> >
> > Wade
> >
> >        [[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.
> >
>

        [[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