Hi,
I am a beginner at R and I would like to get information from a matrix,
where the numbers are larger than or equal to 50m . This means that plants
need to be apart 50m. I need to get the selection(the results) as a
matrix or another object that allows me to identify which pair of species
are 50m apart. Attached it is an example...
Thanks
--
K?tia Em?dio da Silva DSc
Eng. Florestal
Manaus/AM
Forestry Engineer
Manaus/AM-Brazil
K?tia Em?dio da Silva DSc
Eng. Florestal
Manaus/AM
Forestry Engineer
Manaus/AM-Brazil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20130719/08bb9e62/attachment.html>
-------------- next part --------------
Nauc_calo_1 Nauc_calo_2 Nauc_calo_3 Nauc_calo_4 Nauc_calo_5 Nauc_calo_6
Nauc_calo_1 0 118,74 172,27 152,72 119,45 85,351
Nauc_calo_2 118,74 0 165,8 141,68 67,186 151,47
Nauc_calo_3 172,27 165,8 0 24,331 98,671 104,72
Nauc_calo_4 152,72 141,68 24,331 0 74,673 93,503
Nauc_calo_5 119,45 67,186 98,671 74,673 0 108,95
Nauc_calo_6 85,351 151,47 104,72 93,503 108,95 0
Hi,
Please don't cross-post: choose the most appropriate email list and
send your question only to that one. The best place for general
questions like this is R-help.
On Fri, Jul 19, 2013 at 9:12 AM, K?tia Emidio <kat.emidio at gmail.com> wrote:
Hi,
I am a beginner at R and I would like to get information from a matrix,
where the numbers are larger than or equal to 50m . This means that plants
need to be apart 50m. I need to get the selection(the results) as a matrix
or another object that allows me to identify which pair of species are 50m
apart. Attached it is an example...
Attaching your data isn't nearly as useful as using dput() to include
it directly in the email. Many people dislike opening unsolicited
attachments, and the mail server strips most of them off anyway.
There are almost certainly more elegant ways to accomplish this.
Please move the discussion to R-help if you wish to continue it.
# recreate your data
adist <- structure(list(Nauc_calo_1 = c(0, 118.74, 172.27, 152.72, 119.45,
85.351), Nauc_calo_2 = c(118.74, 0, 165.8, 141.68, 67.186, 151.47
), Nauc_calo_3 = c(172.27, 165.8, 0, 24.331, 98.671, 104.72),
Nauc_calo_4 = c(152.72, 141.68, 24.331, 0, 74.673, 93.503
), Nauc_calo_5 = c(119.45, 67.186, 98.671, 74.673, 0, 108.95
), Nauc_calo_6 = c(85.351, 151.47, 104.72, 93.503, 108.95,
0)), .Names = c("Nauc_calo_1", "Nauc_calo_2", "Nauc_calo_3",
"Nauc_calo_4", "Nauc_calo_5", "Nauc_calo_6"), class = "data.frame",
row.names = c("Nauc_calo_1",
"Nauc_calo_2", "Nauc_calo_3", "Nauc_calo_4", "Nauc_calo_5", "Nauc_calo_6"
))
# identify which elements are >= 50
index50 <- data.frame(which(adist >= 50, arr.ind=TRUE))
# take unique pairs from your symmetric matrix
index50 <- subset(index50, row < col)
# get the associated names
results50 <- data.frame(row = rownames(adist)[index50$row], col =
colnames(adist)[index50$col], stringsAsFactors = FALSE)
Sarah