Hi, Rui et al.:

On 6/29/24 14:24, Rui Barradas wrote:
Às 17:02 de 28/06/2024, Spencer Graves escreveu:
Hello, All:


       I'm getting strange errors with write.csv with some objects of class c('findFn', 'data.frame'). Consider the following:


df1 <- data.frame(x=1)
class(df1) <- c('findFn', 'data.frame')
write.csv(df1, 'df1.csv')
# Error in x$Package : $ operator is invalid for atomic vectors

df2 <- data.frame(a=letters[1:2],
       b=as.POSIXct('2024-06-28'))
class(df2) <- c('findFn', 'data.frame')
write.csv(df2, 'df1.csv')
# Error in tapply(rep(1, nrow(x)), xP, length) :
#  arguments must have same length


       "write.csv" works with some objects of class c('findFn', 'data.frame') but not others. I have 'findFn' object with 5264 rows that fails with the following error:


Error in `[<-.data.frame`(`*tmp*`, needconv, value = list(Count = c("83",  :
   replacement element 1 has 526 rows, need 5264


       I have NOT yet been able to reproduce this error with a smaller example. However, starting 'write.csv' with something like the following should fix all these problems:


if(is.data.frame(x)) class(x) <- 'data.frame'


       Comments?
       Thanks for all your work to help improve the quality of statistical software available to the world.


       Spencer Graves

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Hello,

I don't know if this answers to question.
I wasn't able to reproduce errors but warnings, yes I was.

A way of not giving errors or warnings is to call write.csv at the end of a pipe such as the following.


df1 <- findFn("mean")
df1 |> as.data.frame() |> write.csv("df1.csv")


This solution is equivalent to the code proposed in the OP without the need for a change in base R.


Thanks for this. Ivan Krylov informed me that this was NOT a problem with base R but with "[.findFn". I fixed that and got help from Ivan fixing another problem with "sos". Now it is officially "on its way to CRAN."


Hope this helps,


          Yes. I'm not yet facile with "|>", but I'm learning.


          Spencer Graves


Rui Barradas



______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to