Quite so. Very sorry everyone. I realised that I meant "useNA="always"" not "na.rm=TRUE" within minutes of sending that Email ... by which time I was travelling and no longer had internet to beat you to this Eric.
Clear evidence that I should never touch the keyboard without the first coffee of the day. Thanks! Chris > From: "Eric Berger" <[email protected]> > To: "Chris Evans" <[email protected]> > Cc: "R. Help" <[email protected]> > Sent: Tuesday, 26 September, 2017 08:41:33 > Subject: Re: [R] Surprising message "Error in FUN(newX[, i], ...) : all > arguments must have the same length" > Hi Chris, > Maybe the na.rm=TRUE is affecting things. Try this > apply(datTAF[,75:78],2, function(x){ sum(! is.na (x)) }) > HTH, > Eric > On Tue, Sep 26, 2017 at 9:53 AM, Chris Evans < [email protected] > wrote: >> I am hitting an odd message "Error in FUN(newX[, i], ...) : all arguments >> must >> have the same length". I can't supply the data as it's a huge data frame but >> I >> think this has enough diagnostic information to show the issue. I am sure I >> am >> missing something obvious. I've put some extra comments in but otherwise this >> is cut and pasted from Rstudio. >> ### I wanted a table of the values in four columns: >> > apply(datTAF[,75:78],2,table,na.rm=TRUE) >> Error in FUN(newX[, i], ...) : all arguments must have the same length >> ### odd, surely as it's a data frame all x going into table() should be same >> length. Check: >> > apply(datTAF[,75:78],2,length) >> RiskSuicide RiskSelfHarm RiskHarmOth RiskLegal >> 3009 3009 3009 3009 >> ### I has reasons to think the tables should all be the same length. Check: >> > apply(datTAF[,75:78],2,function(x){length(table(x))}) >> RiskSuicide RiskSelfHarm RiskHarmOth RiskLegal >> 6 6 6 6 >> ### Now I'm a bit baffled. Try str: >> > apply(datTAF[,75:78],2,str) >> Named chr [1:3009] "." "." "." "0" "0" "0" "0" "0" "0" "3" "0" "0" "0" "." >> "0" >> "0" "0" "0" "0" "." ... >> - attr(*, "names")= chr [1:3009] "1" "2" "3" "4" ... >> Named chr [1:3009] "0" "0" "0" "0" "0" "0" "0" "1" "0" "0" "0" "0" "0" "." >> "0" >> "0" "0" "0" "0" "." ... >> - attr(*, "names")= chr [1:3009] "1" "2" "3" "4" ... >> Named chr [1:3009] "0" "0" "0" "0" "0" "0" "0" "0" "0" "3" "0" "0" "0" "." >> "0" >> "0" "0" "0" "0" "." ... >> - attr(*, "names")= chr [1:3009] "1" "2" "3" "4" ... >> Named chr [1:3009] "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "1" "." >> "0" >> "0" "0" "0" "0" "." ... >> - attr(*, "names")= chr [1:3009] "1" "2" "3" "4" ... >> NULL >> ### Not sure where that trailing "NULL" came from: >> > str(datTAF[,78]) >> chr [1:3009] "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "1" "." "0" "0" >> "0" >> "0" "0" "." "0" ... >> > Sys.info() >> sysname release version nodename machine login >> "Windows" ">= 8 x64" "build 9200" "HPLP166" "x86-64" "Chris.Evans" >> user effective_user >> "Chris.Evans" "Chris.Evans" >> Anyone see what I'm missing? TIA, >> Chris >> ______________________________________________ >> [email protected] 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]] ______________________________________________ [email protected] 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.

