Dear Kai

When you ask again it is best to tell us what your input is and what output you were hoping for and what you actually got. If you can make a small data-set which shows all that then your post will be much more likely to get a helpful response. If you want to transfer the data-set to us then using dput() will ensure that we have exactly the same as you have. Do not forget to tell us what libraries, if any, you have loaded too.

Michael

On 31/05/2021 17:26, Kai Yang via R-help wrote:
   Hi Jim,
Sorry to post "same" question, because
1. I was asking to use plain text format. I have to post my question again. But 
I don't know if it is working.
2. I'm a beginner for R (< 2 month). It may not easy for me to ask a "clear" R 
question. My current work is to transfer my SAS code into R, especially for data 
manipulation part.
I'll do my best to ask a non."same" question later.
Thanks,
Kai
     On Sunday, May 30, 2021, 10:44:41 PM PDT, Jim Lemon <drjimle...@gmail.com> 
wrote:
Hi Kai,
You seem to be asking the same question again and again. This does not
give us the warm feeling that you know what you want.

testdf<-data.frame(a=c("Negative","Positive","Neutral","Random","VUS"),
  b=c("No","Yes","No","Maybe","Yes"),
  c=c("Off","On","Off","Off","On"),
  d=c("Bad","Good","Bad","Bad","Good"),
  stringsAsFactors=FALSE)
testdf
match_strings<-c("Positive","VUS")
testdf$b<-ifelse(testdf$a %in% match_strings,testdf$b,"")
testdf$c<-ifelse(testdf$a %in% match_strings,testdf$c,"")
testdf$d<-ifelse(testdf$a %in% match_strings,testdf$d,"")
testdf

I have assumed that you mean "zero length strings" rather than
"zeros". Also note that your initial code was producing logical values
that were never assigned to anything.

Jim

On Mon, May 31, 2021 at 2:29 AM Kai Yang via R-help
<r-help@r-project.org> wrote:

Hello List,I have a data frame which having the character columns:

| a1 | b1 | c1 | d1 |
| a2 | b2 | c2 | d2 |
| a3 | b3 | c3 | d3 |
| a4 | b4 | c4 | d4 |
| a5 | b5 | c5 | d5 |



I need to do: if a1 not = "Positive" and not = "VUS" then values of  b1, c1 and 
d1 will be zero out. And do the same thing for the a2 to a5 series.
I write the code below to do this. But it doesn't work. Would you please 
correct my code?
Thank you,
Kai


for (i in 1:5)
{
   if (isTRUE(try$a[i] != "Positive" && try$a[i] != "VUS"))
   {
     try$b[i]== ''
     try$c[i] == ''
     try$d[i]== ''
   }
}


         [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
[[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


--
Michael
http://www.dewey.myzen.co.uk/home.html

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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