[Rd] problem with pipes, textConnection and read.dcf
peter dalgaard
pd@|gd @end|ng |rom gm@||@com
Tue Aug 10 22:00:16 CEST 2021
It's not a pipe issue:
> textConnection(gsub(gsub(L, pattern = " ", replacement = ""), pattern = " ", replacement = ""))
Error in textConnection(gsub(gsub(L, pattern = " ", replacement = ""), :
argument 'object' must deparse to a single character string
> textConnection(gsub(L, pattern = " ", replacement = ""))
A connection with
description "gsub(L, pattern = \" \", replacement = \"\")"
class "textConnection"
mode "r"
text "text"
opened "opened"
can read "yes"
can write "no"
I suppose the culprit is that the deparse(substitute(...)) construct in the definition of textConnection() can generate multiple lines if the object expression gets complicated.
> textConnection
function (object, open = "r", local = FALSE, name = deparse(substitute(object)),
encoding = c("", "bytes", "UTF-8"))
This also suggests that setting name=something might be a cure.
-pd
> On 10 Aug 2021, at 21:33 , Gabor Grothendieck <ggrothendieck using gmail.com> wrote:
>
> This gives an error bit if the first gsub line is commented out then there is no
> error even though it is equivalent code.
>
> L <- c("Variable:id", "Length:112630 ")
>
> L |>
> gsub(pattern = " ", replacement = "") |>
> gsub(pattern = " ", replacement = "") |>
> textConnection() |>
> read.dcf()
> ## Error in textConnection(gsub(gsub(L, pattern = " ", replacement = ""), :
> ## argument 'object' must deparse to a single character string
>
> That is this works:
>
> L |>
> # gsub(pattern = " ", replacement = "") |>
> gsub(pattern = " ", replacement = "") |>
> textConnection() |>
> read.dcf()
> ## Variable Length
> ## [1,] "id" "112630"
>
> R.version.string
> ## [1] "R version 4.1.0 RC (2021-05-16 r80303)"
> win.version()
> ## [1] "Windows 10 x64 (build 19042)"
>
> --
> Statistics & Software Consulting
> GKX Group, GKX Associates Inc.
> tel: 1-877-GKX-GROUP
> email: ggrothendieck at gmail.com
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes using cbs.dk Priv: PDalgd using gmail.com
More information about the R-devel
mailing list