That is wonderful, now I think I am all set! Thanks again!
Tony Plate wrote: > > This is a tricky data entry problem. The right technique will depend on > the fine details of the data, and it's not clear what those are. E.g., > when you say "In my first column, for example, I have "henry" ", it's > unclear to me whether or not the double quotes are part of the data or not > - which is why it's nice to provide reproducible examples. > > But, if you do have quoted strings in your data fields as they exist in an > R matrix, you can do something like the following: > >> # each element of the matrix x contains one or more quoted strings, >> separated by commas >> x <- matrix(c('"a", "b"', '"c"', '"b"', '"d"'), ncol=2, >> dimnames=list(c("row1", "row2"), c("X","Y"))) >> x > X Y > row1 "\"a\", \"b\"" "\"b\"" > row2 "\"c\"" "\"d\"" >> # use R's parsing and evaluation to turn '"a", "b"' into c("a", "b"), and >> turn that >> # into a matrix containing character vectors of various lengths. >> matrix(lapply(parse(text=paste("c(", x, ")")), eval), ncol=ncol(x), >> dimnames=dimnames(x)) > X Y > row1 Character,2 "b" > row2 "c" "d" >> > > - Tony Plate > > esterhazy wrote: >> Yes, thanks for this, this is exactly what I want to do. >> >> However, I have a remaining problem which is how to get R to understand >> that >> each entry in my matrix is a vector of names. >> >> I have been trying to import my text file with the names in each vector >> of >> names enclosed in quotes and separated by commas, or separated by spaces, >> or >> without quotes, etc, with no luck. >> >> Everytime, R seems to consider the vector of names as just one long name. >> >> In my first colum, for example, I have "henry", in the second, "mary", >> "ruth", and in the third "mary", "joseph", and I have no idea how to get >> R >> to see that "mary", "ruth", for example, is composed of two strings of >> text, >> rather than just one. >> >> Thanks for any further help! >> >> http://old.nabble.com/file/p26305756/ffoexample.txt ffoexample.txt >> >> Tony Plate wrote: >>> Nice problem! >>> >>> If I understand you correctly, here's how to do it (with list-based >>> matrices): >>> >>>> set.seed(1) >>>> (x <- matrix(lapply(rpois(10,2)+1, function(k) sample(letters[1:10], >>>> size=k)), ncol=2, dimnames=list(1:5,c("A","B")))) >>> A B >>> 1 Character,2 Character,5 >>> 2 Character,2 Character,5 >>> 3 Character,3 Character,3 >>> 4 Character,5 Character,3 >>> 5 Character,2 "i" >>>> x[1,1] >>> [[1]] >>> [1] "c" "b" >>> >>>> x[1,2] >>> [[1]] >>> [1] "c" "d" "a" "j" "f" >>> >>>> (y <- cbind(x, "A-B"=apply(x, 1, function(ab) setdiff(ab[[1]], >>>> ab[[2]])))) >>> A B A-B >>> 1 Character,2 Character,5 "b" >>> 2 Character,2 Character,5 "g" >>> 3 Character,3 Character,3 Character,3 >>> 4 Character,5 Character,3 Character,2 >>> 5 Character,2 "i" Character,2 >>>> y[1,3] >>> [[1]] >>> [1] "b" >>> >>> -- Tony Plate >>> >>> esterhazy wrote: >>>> Hi, >>>> >>>> I have a matrix with two columns, and the elements of the matrix are >>>> vectors. >>>> >>>> So for example, in line 3 of column 1 I have a vector v31=("marc", >>>> "robert, >>>> "marie"). >>>> >>>> What I need to do is to compare all vectors in column 1 and 2, so as to >>>> get, >>>> for example setdiff(v31,v32) into a new column. >>>> >>>> Is there a way to do this in R? >>>> >>>> Thanks! >>> ______________________________________________ >>> 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. > > -- View this message in context: http://old.nabble.com/Comparison-of-vectors-in-a-matrix-tp26284855p26306896.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.