Sponsored Content
Top Forums Programming Converting distance list to distance matrix in R Post 302337434 by anjas on Friday 24th of July 2009 06:32:53 AM
Old 07-24-2009
Converting distance list to distance matrix in R

Hi power user,

I have this type of data (distance list):

file1
 
A B 10
B C 20
C D 50
I want output like this

# A B C D
A 0 10 30 80
B 10 0 20 70
C 30 20 0 50
D 80 70 50 0
Which is a distance matrix


I have tried this following R script

Code:
> x <- read.table("/homes/bierdepot/arli/workspace/prak09/bioinf09/DATA/"file1, as.is=TRUE)
> closeAllConnections()
> x.names <- sort(unique(c(x[[1]], x[[2]])))
> x.dist <- matrix(0, length(x.names), length(x.names))
> dimnames(x.dist) <- list(x.names, x.names)
> x.ind <- rbind(cbind(match(x[[1]], x.names), match(x[[2]], x.names)),
+ cbind(match(x[[2]], x.names), match(x[[1]], x.names)))
> x.dist[x.ind] <- rep(x[[3]], 2)
> x.dist

However, the result is like this.
 
# A B C D
A 0 10 0 0
B 10 0 20 0
C 0 20 0 50
D 0 0 50 0
Which is not a distance matrix, but an adjacency matrix. Is there any solution to repair the script, so I could get the distance matrix? Smilie
I have about 20.000 lines files of distance list. If I run those script, I will have this message:

[ reached getOption("max.print") -- omitted xxxx rows ]]

How could I get rid of that message?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Lat/Long Distance Calculation

I amtrying to write a script that would compute the distance between an "x" number of points. This is what I have come up with so far and it is not working. Can anyone modify it to make it work? A=34.16597 B=-84.33244 C=34.2344 D=-84.29189 test "$A" -eq "$C" -o "$B" -eq "$D" then echo... (3 Replies)
Discussion started by: Ernst
3 Replies

2. Shell Programming and Scripting

generating random numbers with hamming distance 4

Hi I want to genrate 10 random 32 bit binary numbers with hamming distance 4 and 8. 11010110010101010101010101010101 11010110010101010100010101010010 if we look carefully at these two binary numbers they differ at 4 places hence hamming distance 4. Now I want to genrate these numbers... (2 Replies)
Discussion started by: hack_tom
2 Replies

3. UNIX for Dummies Questions & Answers

Long Distance UNIX (Solaris) Cloning ?

Need some advice and guidance for this UNIX beginner. Due to downsizing I have inherited the SysAdmin duties..(sigh). Please excuse and forgive me if I use the wrong terms below.... Situation: We have UNIX ( Solaris 7/8/9( it varies) on Sun Ultra 10's) servers located at several global... (1 Reply)
Discussion started by: HikerLT
1 Replies

4. Shell Programming and Scripting

program to calculate distance between 5 atoms

Hello, I am a beginner with perl. I have a perl program to calculate the distance between 5 atoms or more. i have an array which looks like this: 6.324 32.707 50.379 5.197 32.618 46.826 4.020 36.132 46.259 7.131 38.210 45.919 6.719 38.935 42.270 2.986 39.221 ... (1 Reply)
Discussion started by: annie_singh
1 Replies

5. Shell Programming and Scripting

Calculate distance and azimuth

Hi all, I have a data file like this lat lon lat lon 12.000 25.125 14.235 25.012 14.200 81.000 25.584 25.014 45.023 25.365 25.152 35.222 I want to calculate distance and azimuth between this points eg:- 12.000,25.125 and 14.235,25.012 I want to use awk programming... (3 Replies)
Discussion started by: chamara
3 Replies

6. Shell Programming and Scripting

Calculating distance between two LAT long coordinates

hi, i have a pair of latitude and longitude and i want to calculate the distance between these two points. In vbscript i achieved in the following way...Now i want to implement this in unix shell scripting.... <% Dim lat1, lon1, lat2, lon2 const pi = 3.14159265358979323846 ... (8 Replies)
Discussion started by: aemunathan
8 Replies

7. UNIX for Dummies Questions & Answers

How to make a distance matrix

Hi, I'm trying to generate a distance matrix between sample pairs for use in a tree-drawing program (example below). The example below demonstrates what I'd like to get out of the data - essentially, to calculate the proportion of positions where two samples differ. Any help much appreciated!... (1 Reply)
Discussion started by: auburn
1 Replies

8. Shell Programming and Scripting

finding distance between numbers

Hi, I have a file as ABC 1634230,1634284,1634349,1634468 1634272,1634301,1634356,1634534 What I want is to find distance between the numbers.. column 1 is the gene name and column 2 are starts and column 3 are their respective stops for the starts. So what I want is column 3 which has +1... (2 Replies)
Discussion started by: Diya123
2 Replies

9. Shell Programming and Scripting

Edit distance using perl or awk

Dear all, I am working on a large Sindhi lexicon which I hope to complete by 2017 and place in open source. The database is in Arabic script in two columns delimited by an equal to sign. Column 1 contains a word or words without the short vowel and also some extraneous information which is... (0 Replies)
Discussion started by: gimley
0 Replies

10. Shell Programming and Scripting

Calculate average, azimut and distance

Gents, Please i will to get the distance and azimut from 2 coordinates: Usig excel formula i get the correct values, but i will like to do it using awk. Example A 35089.0 50345.016 9 75 1 2101774 77 70 79 483911.6 2380106.9 137.4 1 1 6 1 A 35089.0 50345.01620 75... (8 Replies)
Discussion started by: jiam912
8 Replies
Distances(3)						     Hardware Locality (hwloc)						      Distances(3)

NAME
Distances - Functions static inline struct hwloc_distances_s * hwloc_get_whole_distance_matrix_by_depth (hwloc_topology_t topology, unsigned depth)" static inline struct hwloc_distances_s * hwloc_get_whole_distance_matrix_by_type (hwloc_topology_t topology, hwloc_obj_type_t type)" static inline struct hwloc_distances_s * hwloc_get_distance_matrix_covering_obj_by_depth (hwloc_topology_t topology, hwloc_obj_t obj, unsigned depth, unsigned *firstp)" static inline int hwloc_get_latency (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2, float *latency, float *reverse_latency) Detailed Description Function Documentation static inline struct hwloc_distances_s* hwloc_get_distance_matrix_covering_obj_by_depth (hwloc_topology_ttopology, hwloc_obj_tobj, unsigneddepth, unsigned *firstp) [static], [read] Get distances for the given depth and covering some objects. Return a distance matrix that describes depth depth and covers at least object obj and all its children. When looking for the distance between some objects, a common ancestor should be passed in obj. firstp is set to logical index of the first object described by the matrix. The returned structure belongs to the hwloc library. The caller should not modify or free it. static inline int hwloc_get_latency (hwloc_topology_ttopology, hwloc_obj_tobj1, hwloc_obj_tobj2, float *latency, float *reverse_latency) [static] Get the latency in both directions between two objects. Look at ancestor objects from the bottom to the top until one of them contains a distance matrix that matches the objects exactly. latency gets the value from object obj1 to obj2, while reverse_latency gets the reverse-direction value, which may be different on some architectures. Returns: -1 if no ancestor contains a matching latency matrix. static inline struct hwloc_distances_s* hwloc_get_whole_distance_matrix_by_depth (hwloc_topology_ttopology, unsigneddepth) [static], [read] Get the distances between all objects at the given depth. Returns: a distances structure containing a matrix with all distances between all objects at the given depth. Slot i+nbobjs*j contains the distance from the object of logical index i the object of logical index j. Note: This function only returns matrices covering the whole topology, without any unknown distance value. Those matrices are available in top-level object of the hierarchy. Matrices of lower objects are not reported here since they cover only part of the machine. The returned structure belongs to the hwloc library. The caller should not modify or free it. Returns: NULL if no such distance matrix exists. static inline struct hwloc_distances_s* hwloc_get_whole_distance_matrix_by_type (hwloc_topology_ttopology, hwloc_obj_type_ttype) [static], [read] Get the distances between all objects of a given type. Returns: a distances structure containing a matrix with all distances between all objects of the given type. Slot i+nbobjs*j contains the distance from the object of logical index i the object of logical index j. Note: This function only returns matrices covering the whole topology, without any unknown distance value. Those matrices are available in top-level object of the hierarchy. Matrices of lower objects are not reported here since they cover only part of the machine. The returned structure belongs to the hwloc library. The caller should not modify or free it. Returns: NULL if no such distance matrix exists. Author Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code. Version 1.7 Sun Apr 7 2013 Distances(3)
All times are GMT -4. The time now is 08:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy