Muhammad Subianto
2005-Apr-27 13:48 UTC
[R] How to add some of data in the first place dataset
Dear R-help, First I apologize if my question is quite simple. I need add some of data in the first place my dataset, how can I do that. I have tried with rbind, but I did not succes. 0.1 3.6 0.4 0.9 rose 4.1 4.0 1.2 1.2 rose 4.4 3.2 1.9 0.5 rose 4.6 1.1 1.1 0.2 rose For example, > data(iris) > iris[1:10,] Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 7 4.6 3.4 1.4 0.3 setosa 8 5.0 3.4 1.5 0.2 setosa 9 4.4 2.9 1.4 0.2 setosa 10 4.9 3.1 1.5 0.1 setosa > The result something like this, 0.1 3.6 0.4 0.9 rose 4.1 4.0 1.2 1.2 rose 4.4 3.2 1.9 0.5 rose 4.6 1.1 1.1 0.2 rose 5.1 3.5 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.4 3.9 1.7 0.4 setosa 4.6 3.4 1.4 0.3 setosa 5.0 3.4 1.5 0.2 setosa 4.4 2.9 1.4 0.2 setosa 4.9 3.1 1.5 0.1 setosa Sincerely, Muhammad Subianto
Try this: x<- matrix(1:12, nrow = 4, byrow = T) y <- matrix (13:24, nrow=4, by.row=T) To add the rows of y before the rows of x: rbind(y,x) -- Tyler Smith
Henric Nilsson
2005-Apr-27 14:21 UTC
[R] How to add some of data in the first place dataset
Muhammad Subianto said the following on 2005-04-27 15:48:> Dear R-help, > First I apologize if my question is quite simple. > I need add some of data in the first place my dataset, how can I do that. > I have tried with rbind, but I did not succes.Can you send a reproducible example where rbind didn't succeed?> 0.1 3.6 0.4 0.9 rose > 4.1 4.0 1.2 1.2 rose > 4.4 3.2 1.9 0.5 rose > 4.6 1.1 1.1 0.2 rose > For example, > > data(iris) > > iris[1:10,] > Sepal.Length Sepal.Width Petal.Length Petal.Width Species > 1 5.1 3.5 1.4 0.2 setosa > 2 4.9 3.0 1.4 0.2 setosa > 3 4.7 3.2 1.3 0.2 setosa > 4 4.6 3.1 1.5 0.2 setosa > 5 5.0 3.6 1.4 0.2 setosa > 6 5.4 3.9 1.7 0.4 setosa > 7 4.6 3.4 1.4 0.3 setosa > 8 5.0 3.4 1.5 0.2 setosa > 9 4.4 2.9 1.4 0.2 setosa > 10 4.9 3.1 1.5 0.1 setosaAssume that you have the new data in a `data.frame', e.g. > (new.data <- read.table("clipboard", header = FALSE, col.names = c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species"))) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 0.1 3.6 0.4 0.9 rose 2 4.1 4.0 1.2 1.2 rose 3 4.4 3.2 1.9 0.5 rose 4 4.6 1.1 1.1 0.2 rose Then, add.data <- rbind(new.data, iris) will do the trick. Confirm this by > add.data[1:10, ] Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 0.1 3.6 0.4 0.9 rose 2 4.1 4.0 1.2 1.2 rose 3 4.4 3.2 1.9 0.5 rose 4 4.6 1.1 1.1 0.2 rose 151 5.1 3.5 1.4 0.2 setosa 210 4.9 3.0 1.4 0.2 setosa 310 4.7 3.2 1.3 0.2 setosa 410 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa HTH, Henric> > > The result something like this, > > 0.1 3.6 0.4 0.9 rose > 4.1 4.0 1.2 1.2 rose > 4.4 3.2 1.9 0.5 rose > 4.6 1.1 1.1 0.2 rose > 5.1 3.5 1.4 0.2 setosa > 4.9 3.0 1.4 0.2 setosa > 4.7 3.2 1.3 0.2 setosa > 4.6 3.1 1.5 0.2 setosa > 5.0 3.6 1.4 0.2 setosa > 5.4 3.9 1.7 0.4 setosa > 4.6 3.4 1.4 0.3 setosa > 5.0 3.4 1.5 0.2 setosa > 4.4 2.9 1.4 0.2 setosa > 4.9 3.1 1.5 0.1 setosa
Arne Henningsen
2005-Apr-27 14:28 UTC
[R] How to add some of data in the first place dataset
If you want to add rows to a data frame using rbind, your additional rows must be in a data frame with the same (column) names. R> data( iris ) R> a <- data.frame( Sepal.Length=c(1:4), Sepal.Width=c(2:5), Petal.Length=c(3:6), Petal.Width=c(4:7), Species=rep("rosa",4)) R> b <- iris[1:10,] R> rbind(a,b) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 1.0 2.0 3.0 4.0 rosa 2 2.0 3.0 4.0 5.0 rosa 3 3.0 4.0 5.0 6.0 rosa 4 4.0 5.0 6.0 7.0 rosa 11 5.1 3.5 1.4 0.2 setosa 21 4.9 3.0 1.4 0.2 setosa 31 4.7 3.2 1.3 0.2 setosa 41 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 7 4.6 3.4 1.4 0.3 setosa 8 5.0 3.4 1.5 0.2 setosa 9 4.4 2.9 1.4 0.2 setosa 10 4.9 3.1 1.5 0.1 setosa Arne On Wednesday 27 April 2005 15:48, Muhammad Subianto wrote:> Dear R-help, > First I apologize if my question is quite simple. > I need add some of data in the first place my dataset, how can I do that. > I have tried with rbind, but I did not succes. > 0.1 3.6 0.4 0.9 rose > 4.1 4.0 1.2 1.2 rose > 4.4 3.2 1.9 0.5 rose > 4.6 1.1 1.1 0.2 rose > For example, > > > data(iris) > > iris[1:10,] > > Sepal.Length Sepal.Width Petal.Length Petal.Width Species > 1 5.1 3.5 1.4 0.2 setosa > 2 4.9 3.0 1.4 0.2 setosa > 3 4.7 3.2 1.3 0.2 setosa > 4 4.6 3.1 1.5 0.2 setosa > 5 5.0 3.6 1.4 0.2 setosa > 6 5.4 3.9 1.7 0.4 setosa > 7 4.6 3.4 1.4 0.3 setosa > 8 5.0 3.4 1.5 0.2 setosa > 9 4.4 2.9 1.4 0.2 setosa > 10 4.9 3.1 1.5 0.1 setosa > > The result something like this, > > 0.1 3.6 0.4 0.9 rose > 4.1 4.0 1.2 1.2 rose > 4.4 3.2 1.9 0.5 rose > 4.6 1.1 1.1 0.2 rose > 5.1 3.5 1.4 0.2 setosa > 4.9 3.0 1.4 0.2 setosa > 4.7 3.2 1.3 0.2 setosa > 4.6 3.1 1.5 0.2 setosa > 5.0 3.6 1.4 0.2 setosa > 5.4 3.9 1.7 0.4 setosa > 4.6 3.4 1.4 0.3 setosa > 5.0 3.4 1.5 0.2 setosa > 4.4 2.9 1.4 0.2 setosa > 4.9 3.1 1.5 0.1 setosa > > Sincerely, > Muhammad Subianto > > ______________________________________________ > 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-- Arne Henningsen Department of Agricultural Economics University of Kiel Olshausenstr. 40 D-24098 Kiel (Germany) Tel: +49-431-880 4445 Fax: +49-431-880 1397 ahenningsen at agric-econ.uni-kiel.de http://www.uni-kiel.de/agrarpol/ahenningsen/