Hello,

I believe the only way we have to see what is happening is for you to post the output of


dput(head(d, 20))  # or 30


or, with d2 a subset of d that includes zeros,


dput(head(d2, 20))


Hope this helps,

Rui Barradas

Às 17:48 de 20/04/20, Helen Sawaya escreveu:
I have one column that represents correct response versus error (correct is coded as 1 and error is coded as 0). Nowhere else in the dataset are there values of 0. The vector is treated as an integer.
------------------------------------------------------------------------
*From:* Michael Dewey <li...@dewey.myzen.co.uk>
*Sent:* Monday, April 20, 2020 7:35 PM
*To:* Helen Sawaya <helensaw...@hotmail.com>; Rui Barradas <ruipbarra...@sapo.pt>; r-help@R-project.org <r-help@R-project.org>
*Subject:* Re: [R] NA command in a 'for' loop
Just a thought Helen but is x being treated as a real and what you think
are zero and are printed as zero are in fact some very small number? If
so you need to alter your test appropriately.

Michael

On 20/04/2020 17:25, Helen Sawaya wrote:
Thank you for your reply.

I tried d[] <- lapply(d, function(x) {is.na(x) <- x == 0; x})
​but I am still getting zeros instead of NAs in my output..

I wonder if the problem is that some of my data files don't have any zeros 
(participants made no errors)..
________________________________
From: Rui Barradas <ruipbarra...@sapo.pt>
Sent: Monday, April 20, 2020 9:05 AM
To: Helen Sawaya <helensaw...@hotmail.com>; r-help@R-project.org 
<r-help@R-project.org>
Subject: Re: [R] NA command in a 'for' loop

Hello,

Instead of

d[d == 0] <- NA

try

d[] <- lapply(d, function(x) {is.na(x) <- x == 0; x})


Also, in the first for loop

paste(i, sep = "")

does nothing, it's the same as i.
And the same for

(d2$V4 == 1) == TRUE

Since (d2$V4 == 1)  already is FALSE/TRUE there is no need for

(.) == TRUE


Hope this helps,

Rui Barradas



Às 20:52 de 19/04/20, Helen Sawaya escreveu:
Dear R experts,

I am using a 'for' loop to apply commands to multiple datasets (each file is one participant). The only one not working is the command that identifies zeros in my datasets and changes them to NAs. But when I look at the output, zeros ("0") are still present. Surprisingly, the functions work fine when I apply them to a single
dataset (outside the loop). I've tried:

all.files <- list.files(".")
txt.files <- grep("threat.txt",all.files,value=T)

for(i in txt.files){
     d <- read.table(paste(i,sep=""),header=F)
     d[d==0] <- NA #replace zeros with NA
     write.table(d, paste0(i,".tlbs.txt"), quote=FALSE, row.names=TRUE)}
     d<-d[ ,-c(10,11)]
     d2<-d[complete.cases(d), ]
     d2$V4<-as.numeric(d2$V4)
     congruent <- (d2$V4 == 1) == TRUE
     x <- get_tlbs(d2$V14, congruent, prior_weights = NULL, method = 
"weighted", fill_gaps = FALSE)
     write.table(x, paste0(i,".tlbs.txt"), quote=FALSE, row.names=TRUE)}

I've also tried:

for(i in txt.files){
     d <- read.table(paste(i,sep=""),header=F)
     if (0 %in% d)
     {replace_with_na(d,replace = list(x = 0))} # replace zeros with NA
     d<-d[ ,-c(10,11)]
     d2<-d[complete.cases(d), ]
     d2$V4<-as.numeric(d2$V4)
     congruent <- (d2$V4 == 1) == TRUE
     x <- get_tlbs(d2$V14, congruent, prior_weights = NULL, method = 
"weighted", fill_gaps = FALSE)
     write.table(x, paste0(i,".summaryoutput.txt"), quote=FALSE, 
row.names=TRUE)}

Thank you for your help.
Sincerely
Helen

         [[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