[R] truth (karnaugh) table
baptiste auguie
baptiste.auguie at googlemail.com
Mon Sep 21 19:20:51 CEST 2009
I knew I was missing the obvious. And to think it's only Monday...
Thanks everyone!
baptiste
2009/9/21 Henrique Dallazuanna <wwwhsd at gmail.com>:
> Try this:
>
> do.call(expand.grid, rep(list(0:1), 4))
>
> On Mon, Sep 21, 2009 at 2:04 PM, baptiste auguie
> <baptiste.auguie at googlemail.com> wrote:
>> Dear list,
>>
>> I think I'm being dense, but I can't get combn or expand.grid to give
>> me this result. I need to generate a matrix of all 16 possible
>> sequences of 4 boolean elements,
>>
>> 0000
>> 0001
>> 0010
>> 0011
>> 0100
>> .....
>> 1111
>>
>> (in the end I'll have to assign NA to the 0s and some value to the 1s
>> but let's keep it simple)
>>
>> OK, I could go the following route, but I feel like reinventing the
>> wheel (and poorly),
>>
>>
>> binarize <- function(x){
>> xt <- x
>> bin <- vector()
>> while(xt !=0){
>> bin <- c(bin, xt %% 2)
>> xt <- xt %/%2
>> }
>> c(rep(0, 4 - length(bin)), bin)
>> }
>>
>> sapply(0:15, binarize)
>>
>> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
>> [,13] [,14] [,15] [,16]
>> [1,] 0 0 0 0 0 0 0 0 0 1 0 1
>> 0 1 0 1
>> [2,] 0 0 0 0 0 1 0 1 0 0 1 1
>> 0 0 1 1
>> [3,] 0 0 0 1 0 0 1 1 0 0 0 0
>> 1 1 1 1
>> [4,] 0 1 1 1 1 1 1 1 1 1 1 1
>> 1 1 1 1
>>
>>
>> Have I missed a better way?
>>
>> Thanks,
>>
>> baptiste
>>
>> ______________________________________________
>> R-help at 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.
>>
>
>
>
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
>
More information about the R-help
mailing list