On 2012-07-08 06:57, fabiano wrote:
Thanks Peter.
We had a look at both Hab and habitat. These are integers representing
habitat types.
habitat <- read.csv("Ungulate_vegetation.csv")
habitat <- habitat[,3]
habitat
[1] 3 3 4 3 3 3 4 4 3 3 3 3 3 4 2 3 2 3 2 3
Hab <- cbind(seq(1,20),habitat)
Hab
habitat
[1,] 1 3
[2,] 2 3
[3,] 3 4
[4,] 4 3
[5,] 5 3
[6,] 6 3
[7,] 7 4
[8,] 8 4
[9,] 9 3
[10,] 10 3
[11,] 11 3
[12,] 12 3
[13,] 13 3
[14,] 14 4
[15,] 15 2
[16,] 16 3
[17,] 17 2
[18,] 18 3
[19,] 19 2
[20,] 20 3
hab
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA
for(i in 1:2){ hab[i, ] <- Hab[habitat==i,1] }
The idea is to assign habitat types to hab.
I don't understand how this relates to a 2-by-7 matrix,
but it's easy to see where your problem with the loop is.
Try this and see if it sheds light:
hab[1,] <- Hab[habitat==1,1]
#Error in hab[1, ] <- Hab[habitat == 1, 1] : replacement has length zero
hab[2,] <- Hab[habitat==2,1]
#Error in hab[2, ] <- Hab[habitat == 2, 1] :
number of items to replace is not a multiple of replacement length
Now do:
Hab[habitat==1,1] ## how many 1s are in habitat?
Hab[habitat==2,1] ## how many 2s are in habitat?
I think that you may have to rethink your approach.
Peter Ehlers
Thanks
--
View this message in context:
http://r.789695.n4.nabble.com/replacement-has-length-zero-tp4635700p4635777.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
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.
______________________________________________
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.