[R] Surprising message "Error in FUN(newX[, i], ...) : all arguments must have the same length"
    Chris Evans 
    chrishold at psyctc.org
       
    Tue Sep 26 08:53:07 CEST 2017
    
    
  
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
    
    
More information about the R-help
mailing list