Hi,
dat <- structure(list(Cname = c("chiyyan", "saikiran", "niranjan", "yeswanth", 
"anitha", "krishna"), Wname = c("chyyan", "saikira", "nirnjan", 
"eswanth", "anita", "krisna")), .Names = c("Cname", "Wname"), class = 
"data.frame", row.names = c(NA, 
-6L))
output <- structure(list(Cname = c("chiyyan", "saikiran", "niranjan", 
"yeswanth", 
"anitha", "krishna"), Wname = c("chyyan", "saikira", "nirnjan", 
"eswanth", "anita", "krisna"), starting = c(1L, 1L, 0L, 1L, 0L, 
0L), middle = c(0L, 0L, 1L, 0L, 0L, 1L), ending = c(0L, 0L, 0L, 
0L, 1L, 0L)), .Names = c("Cname", "Wname", "starting", "middle", 
"ending"), class = "data.frame", row.names = c(NA, -6L))



#Here, I am not following the logic. 

output[1:2,]
#     Cname   Wname starting middle ending
#1  chiyyan  chyyan        1      0      0
#2 saikiran saikira        1      0      0  ##1 for "ending"?

You may try:
library(Biostrings)

res <- cbind(dat, setNames(as.data.frame(t( 
sapply(seq_len(nrow(dat)),function(i) {p1 
<-pairwiseAlignment(dat[i,2],dat[i,1]); m1 <- as.matrix(p1);  m2 <- 
matrix(0,nrow=1,ncol=3,dimnames=list(NULL,c("starting","middle","ending"))); me 
<- median(seq(ncol(m1))); vec1 <- c(floor(me),ceiling(me)); indx <- 
which(m1=="-"); if(indx < vec1[1]) {m2[,"starting"] <-1; m2} else if(indx > 
vec1[2]) {m2[,"ending"] <- 1; m2} else m2[,"middle"] <- 1; m2 }))), 
c("starting","middle","ending")))


 res
     Cname   Wname starting middle ending
1  chiyyan  chyyan        1      0      0
2 saikiran saikira        0      0      1
3 niranjan nirnjan        0      1      0
4 yeswanth eswanth        1      0      0
5   anitha   anita        0      0      1
6  krishna  krisna        0      0      1

output
     Cname   Wname starting middle ending
1  chiyyan  chyyan        1      0      0 #here "i" 3rd letter missing from 
Wname. 
2 saikiran saikira        1      0      0
3 niranjan nirnjan        0      1      0
4 yeswanth eswanth        1      0      0
5   anitha   anita        0      0      1
6  krishna  krisna        0      1      0 ## here "h" is the 5th letter.  
So, I am not sure about your classificiation of middle.  In both "chiyyan" and 
"krishna", 4th letter is the middle one.  So, I don't understand how you got 1 
for "starting" in the case of "chiyyan" while 1 is "middle" for "krishna".
A.K.














Hi,Users I have troble in one task is give below plz...help me Cname Wname
chiyyan chyyan
saikiran saikira
niranjan nirnjan
yeswanth eswanth
anitha anita
krishna krisna here Cname means Correct name and Wname means Wrong name it's 
letter's
missing,so in Wname column identify which place letter missing like 
starting,middle,ending place.if starting letter missing given numeric
1 remainings 0's.finaly out put is Cname Wname         starting       middle    
 ending
chiyyan chyyan         1             0           0  
saikiran saikira       1             0           0
niranjan nirnjan       0             1           0 
yeswanth eswanth       1             0           0
anitha anita           0             0           1
krishna krisna         0             1           0 plz...solve this

______________________________________________
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.

Reply via email to