[R] extract printed value from a function

David Winsemius dwinsemius at comcast.net
Thu Feb 24 15:32:54 CET 2011


On Feb 24, 2011, at 7:22 AM, Peter Ehlers wrote:

> On 2011-02-24 03:26, Duarte Viana wrote:
>> Hello all,
>>
>> This shouldn't be difficult, but I am not able to extract a printed
>> value from a function and assign it to an object.
>>
>> In my case,
>>
>>> library(DAAG)
>>> twotPermutation(c(2,3,4),c(3,6,5),plotit=F)
>> [1] 0.298
>>
>> I would like to assign this result to an object.

A third suggestion which has virtues of simplicity and keeping the  
result "numeric":

x <- print( twotPermutation(c(2,3,4),c(3,6,5),plotit=F) )

 > x
[1] 0.1
 > x <- print(invisible (0.2))
[1] 0.2
 > x
[1] 0.2

--


>
> Two suggestions:
> 1.
> Modify the code for twotPermutation by removing the invisible()
> at the end.
>
> 2.
> Use capture.output to capture the result and then convert
> to numeric:
>
> pvstring <- capture.output(
>     twotPermutation( c(2,3,4), c(3,6,5), plotit=FALSE) ))
>
> Now you can use strsplit or substr to extract the numeric part:
>
> pv <- as.numeric(strsplit(pvstring, " ")[[1]][2])
>
> or
>
> pv <- as.numeric(
>      substr(pvstring, nchar(pvstring) - 5, nchar(pvstring)))
>
> Peter Ehlers
>
>>
>> Thanks,
>>
>> Duarte
>>
>> ______________________________________________
>> 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.
>
> ______________________________________________
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list