On Nov 11, 2009, at 1:02 PM, 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.
Those are all subsumed under the R "whitespace" separators that scan
and the read.* functions use by default.
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
I copied and pasted into a textConnection:
> lines <- readLines(textConnection("username friends friendof
+ 26376 paradisacorbasi zannechaos filmstarusa jelliclecat status
jennilee_rose obiwaynekenobi shaycaron jillthepill 26376 witchy1
jumbach oscarwinner slai jenniebennie tirwen estall bront
zarchasmpgmr pink_kimono reidzilla miz_anneliese ambelies
jrianne henry3730 thufer_hawat mom2bunky venaeli grbenda ikkin56
paradisacorbasi filmstarusa jelliclecat jennilee_rose shaycaron
jillthepill 26376 witchy1 jumbach oscarwinner tirwen estall bront
zarchasmpgmr pink_kimono reidzilla miz_anneliese ambelies jrianne
henry3730 ahahaha_ha thufer_hawat mom2bunky venaeli grbenda
donna_stewart gjanyn
+ aaandy matttt monotony porcelian abrokenstarr seraphimsigrist
ballena cbaqir _cassyandra darkspree erishkigal pinkdevildances
lightning_geek a_life_verbatim frozen_wishes lijago tindernight
crashing_angel sabrina_g giggly_teapot smarties_2087 theinimitable_l
african_sunset sirenlunaris eagan_bryhtm robomonkeyninja maid_ov_metal
aubloomiel countdownish queennola pearl007 princess_macaw wolfie_sara
gypsy_jack may_cash morningchorus vanityflair lyingpeacefully
squashedfrogs d_e_r_v_i_s_h the_koira lakshmichithra muffinbits
amaya_aneko jenikaandzhaodi blood_gypsy aura_oneill icemodeled
wannabesnorlax2 matttt frida monotony porcelian abrokenstarr
seraphimsigrist ballena cbaqir _cassyandra shepardshadows darkspree
erishkigal pinkdevildances lightning_geek a_life_verbatim
frozen_wishes lijago tindernight crashing_angel sabrina_g
giggly_teapot laudanum_tea smarties_2087 theinimitable_l
african_sunset sirenlunaris eagan_bryhtm robomonkeyninja aaskie
maid_ov_metal aubloomiel countdownish queennola pearl007
princess_macaw wolfie_sara gypsy_jack may_cash morningchorus
vanityflair lyingpeacefully squashedfrogs d_e_r_v_i_s_h the_koira
lakshmichithra muffinbits amaya_aneko jenikaandzhaodi blood_gypsy
aura_oneill icemodeled sixtycents wannabesnorlax2"))
#realLines will bring in everything up to an EOL.
# and then used scan() on the individual lines:
> col1 <- scan(textConnection(lines[1]), what="character")
Read 3 items
> col1
[1] "username" "friends" "friendof"
> col2 <- scan(textConnection(lines[2]), what="character")
Read 58 items
> col3 <- scan(textConnection(lines[3]), what="character")
Read 102 items
I have not figured out what you and Tony are doing with these
collections of character vectors, but this should help with you doing
the basic data entry.
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.
--
View this message in context:
http://old.nabble.com/Comparison-of-vectors-in-a-matrix-tp26284855p26305756.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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
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.