Gregor GORJANC
2005-Feb-15 07:45 UTC
[R] Re: [Rd] corrupt data frame: columns will be truncated or padded with NAs in: format.data.frame(x, digits = digits)
James, thanks for the response. I understand now my puzzle. tmp <- data.frame(y1=1:4, f1=factor(c("A", "B", "C", "D"))) tmp$y2 <- NA tmp[1:2, "y2"] <- 2 Does the job. I see that I should add a full column. In my case adding full column of NAs and then adding values, solves my problems. Thanks to all. james.holtman at convergys.com wrote:> > > > By definition, a data.frame has to have all columns of the same length > (think of it as a matrix). You can not add partial data to a column. What > is it you are trying to do? Should you consider the use of a 'list' if you > want each 'column' (data element) to have a different mode and length? > __________________________________________________________ > James Holtman "What is the problem you are trying to solve?" > Executive Technical Consultant -- Office of Technology, Convergys > james.holtman at convergys.com > +1 (513) 723-2929 > > > > Gregor GORJANC > <gregor.gorjanc at bfro. To: Prof Brian Ripley <ripley at stats.ox.ac.uk>, r-devel at stat.math.ethz.ch, > uni-lj.si> r-help at stat.math.ethz.ch > Sent by: cc: > r-help-bounces at stat.m Subject: [R] Re: [Rd] corrupt data frame: columns will be truncated or padded with NAs > ath.ethz.ch in: format.data.frame(x, digits = digits) > > > 02/14/2005 07:32 > Please respond to > gregor.gorjanc > > > > > > Hello! > > Sending this also to r-help so anyone can read it also there and maybe also > > help me with my puzzle if this trivial and I don't see it. > > Prof Brian Ripley wrote: > [... removed some ...] > >>You add a column, not replace part of a non-existent column. Isn't that >>obvious, given what you wrote? > > > # OK. If I do > tmp <- data.frame(y1=1:4, f1=factor(c("A", "B", "C", "D"))) > tmp[1:2, "y2"] <- 2 > tmp > # I am changing nonexistent column y2 in data frame tmp. > > # If I do > tmp <- data.frame(y1=1:4, f1=factor(c("A", "B", "C", "D"))) > tmp$y2 <- NA > tmp[1:2, "y2"] <- 2 > tmp > # I am changing existent column. I understand now the difference. However, > # it is weird for me that this is OK (if column y2 does not yet exist) > tmp["y2"] <- 2 > # but this is not > tmp[1:2, "y2"] <- 2 > > >>There is a lot of basic documentation on data manipulation in R/S, and a >>whole chapter in MASS4. Somehow most other people don't seem to find >>this a problem. > > > I just ordered MASS4 last week and I am eager to get it in my hands. In > meanwhile I read quite some documentation and what I more or less saw is > > tmp <- data.frame(y1=1:4, f1=factor(c("A", "B", "C", "D"))) > tmp$y2 <- 1:4 > tmp$y3 <- 2*tmp$y1 > ... > ... > > i.e. everybody is adding full column to data frame. But I would like to add > > just one part. > > -- > Lep pozdrav / With regards, > Gregor GORJANC > > --------------------------------------------------------------- > University of Ljubljana > Biotechnical Faculty URI: http://www.bfro.uni-lj.si > Zootechnical Department mail: gregor.gorjanc <at> bfro.uni-lj.si > Groblje 3 tel: +386 (0)1 72 17 861 > SI-1230 Domzale fax: +386 (0)1 72 17 888 > Slovenia > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > > >-- Lep pozdrav / With regards, Gregor GORJANC --------------------------------------------------------------- University of Ljubljana Biotechnical Faculty URI: http://www.bfro.uni-lj.si Zootechnical Department mail: gregor.gorjanc <at> bfro.uni-lj.si Groblje 3 tel: +386 (0)1 72 17 861 SI-1230 Domzale fax: +386 (0)1 72 17 888 Slovenia
Apparently Analagous Threads
- corrupt data frame: columns will be truncated or padded with NAs in: format.data.frame(x, digits = digits)
- corrupt data frame: columns will be truncated or padded with NAs in: format.data.frame(x, digits = digits)
- corrupt data frame: columns will be truncated or padded with NAs in: format.data.frame(x, digits = digits)
- Programming/scripting with "expressions - variables"
- RE: [Rd] F90