D0407 D0409 D0410 D0462 D0463 D0473 D0475 D0488 D0489 D0492
#Conti_Australia 0 0 1 0 0 0 0 0 0 0
#Conti_Korea 0 0 0 0 0 0 0 0 0 0
#Conti_Malay 0 0 0 1 0 0 0 0 0 0
#
0 1 0 0 0 0
#Conti_Malay 0 0 0 0 0 1 0 0 0 0
#Island_Sumatra 0 0 0 0 0 0 0 0 0 1
# D0493 D0504 D0536
#Conti_Australia 0 0 1
#Conti_Malay 1 0 1
#Island_Sumatra
10 D0462 D0463 D0473 D0475 D0488 D0489 D0492 D0493 D0504
#IslandA 0 0 0 0 0 0 0 0 0 0 0 0
#IslandB 0 0 0 0 0 1 0 0 0 0 1 0
# D0536
#IslandA 0
#IslandB 1
A.K.
__
ot;",header=TRUE))
>> >
>> >row.names(mat1)<- gsub(".*\\_","",row.names(mat1)) #to replace the
>> "GID_" from the row.names()
>> > mat1
>> >
>> ># D0989 D9820 D5629 D4327 D2134
>> >
>> >#1 1 0 0 1 0
>&
dA","IslandB"),function(x) {x1<-
mat1[match(gsub(".*\\s+","",get(x)),mat1[,1]),-1];(!!colSums(x1))*1}))
# D0989 D9820 D5629 D4327 D2134
#IslandA 1 1 0 1 0
#IslandB 0 1 1 0 1
A.K.
__________
10 0 0
> 7 010 0 1
> ",sep="",header=TRUE))
> IslandA<-c("GID 1", "GID 5")
> IslandB<- c("GID 2", "GID 4", "GID
> 7")t(sapply(c("IslandA","
Sums(x1)}))
> #D0989 D9820 D5629 D4327 D2134
> #IslandA FALSE FALSE TRUE FALSE TRUE
> #IslandB TRUE FALSE FALSE TRUE FALSE
>
> t(sapply(c("IslandA","IslandB"),function(x) {x1<-
> mat1[match(gsub(".*\\s+","",get(x)),row.names(m
uot;IslandB"),function(x) {x1<-
mat1[match(gsub(".*\\s+","",get(x)),row.names(mat1)),];!!colSums(x1)}))
# D0989 D9820 D5629 D4327 D2134
#IslandA TRUE TRUE FALSE TRUE FALSE
#IslandB FALSE TRUE TRUE FALSE TRUE
# "*1" will replace TRUE with 1 and FA
Time to do some homework, Elaine:
?regexp
There are also numerous online tutorials on regular expressions that
you can use to educate yourself.
Cheers,
Bert
On Wed, Jul 31, 2013 at 2:07 PM, Elaine Kuo wrote:
> Dear Arun
>
> Thank you for the very useful help.
> However, please kindly explain t
Dear Arun
Thank you for the very useful help.
However, please kindly explain the code below.
row.names(mat1)<- gsub("[_]"," ",row.names(mat1))
1. what does "[_]" mean?
2. what does " " mean?
3. what does row.names(mat1) mean?
I checked ?gsub but still did not get the idea.
Thank you again
Ela
HI,
Please use ?dput()
mat1<- as.matrix(read.table(text="
D0989 D9820 D5629 D4327 D2134
GID_1 1 0 0 1 0
GID_2 0 1 1 0 0
GID_4 0 0 1 0 0
GID_5 1 1 0 0 0
GID_7 0 1 0
11 matches
Mail list logo