It took me some time to find this bug in my code. Is this a feature of R? Am I doing something wrong?

> a=data.frame(x=1:10,y=1:10)
> b=data.frame(x=11:20,y=11:20)
> z=data.frame(1:10,11:20)

> a$z=z
> b$z=z

> rbind(a,b)

Error in `row.names<-.data.frame`(`*tmp*`, value = c("1", "2", "3", "4", :
  duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘1’, ‘10’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’

adding rownames to a and b doesn't help:
> rownames(a)=1:10
> rownames(b)=11:20
> rbind(a,b)
Error in `row.names<-.data.frame`(`*tmp*`, value = c("1", "2", "3", "4", :
  duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘1’, ‘10’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’

the problem is with the rownames of a$z and b$z...
> rownames(a$z)=1:10
> rownames(b$z)=11:20
> rbind(a,b)
    x  y z.X1.10 z.X11.20
1   1  1       1       11
2   2  2       2       12
3   3  3       3       13
4   4  4       4       14
5   5  5       5       15
6   6  6       6       16
7   7  7       7       17
8   8  8       8       18
9   9  9       9       19
10 10 10      10       20
11 11 11       1       11
12 12 12       2       12
13 13 13       3       13
14 14 14       4       14
15 15 15       5       15
16 16 16       6       16
17 17 17       7       17
18 18 18       8       18
19 19 19       9       19
20 20 20      10       20

I was creating data.frames with data.frame members when I was doing computations on the data.frames.
Something like:
> a=data.frame(x=1:10,y=1:10)
> b=data.frame(x=11:20,y=11:20)
> a$z=a*2
> b$z=b*2
> rbind(a,b)
Error in `row.names<-.data.frame`(`*tmp*`, value = c("1", "2", "3", "4", :
  duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘1’, ‘10’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’


Thanks for listening,
Michael
______________________________________________
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