Displaying 20 results from an estimated 500 matches similar to: "Print bug for matrix(list(NA_complex_, ...))"
2023 Apr 14
1
Possible inconsistency between `as.complex(NA_real_)` and the docs
Hi all,
Surprisingly (at least to me), `as.complex(NA_real_)` results in
`complex(real = NA_real_, imaginary = 0)` rather than `NA_complex_`.
It seems to me that this goes against the docs of `as.complex()`,
which say this in the Details section:
"Up to R versions 3.2.x, all forms of NA and NaN were coerced to a
complex NA, i.e., the NA_complex_ constant, for which both the real
and
2023 Nov 08
1
c(NA, 0+1i) not the same as c(as.complex(NA), 0+1i)?
So, to summarize, the open questions are:
(1) Should as.complex(NA_character_) give complex(r=NA_real_, i=0)
instead of NA_complex_?
(2) Should the first argument in c(NA, x) and c(NA_integer_, x),
where typeof(x) == "complex", be promoted to complex(r=NA_real_, i=0)
instead of NA_complex_?
My opinions:
(1) No. The imaginary part of the
2023 Nov 09
1
c(NA, 0+1i) not the same as c(as.complex(NA), 0+1i)?
>>>>> Mikael Jagan
>>>>> on Wed, 8 Nov 2023 11:13:18 -0500 writes:
> So, to summarize, the open questions are:
> (1) Should as.complex(NA_character_) give complex(r=NA_real_, i=0)
> instead of NA_complex_?
> (2) Should the first argument in c(NA, x) and c(NA_integer_, x),
> where typeof(x) == "complex", be promoted
2023 Nov 06
1
c(NA, 0+1i) not the same as c(as.complex(NA), 0+1i)?
Hmm, it is not actually at odds with help(c), it is just that the autocoercion works different that it used to, so that
as.complex(NA) == as.complex(NA_real) == NA_real_+0i)
which now differs from
NA_complex
although both print as NA.
I haven't been quite alert when this change was discussed, but it does look a bit unfortunate that usage patterns like c(NA, 0+1i) does not give complex NA
2023 Nov 05
2
c(NA, 0+1i) not the same as c(as.complex(NA), 0+1i)?
This is another follow-up to the thread from September "Recent changes to
as.complex(NA_real_)".
A test in data.table was broken by the changes for NA coercion to complex;
the breakage essentially comes from
c(NA, 0+1i)
# vs
c(as.complex(NA), 0+1i)
The former is the output we tested against; the latter is essentially (via
coerceVector() in C) what's generated by our
2023 Nov 06
1
c(NA, 0+1i) not the same as c(as.complex(NA), 0+1i)?
>>>>> Michael Chirico
>>>>> on Sun, 5 Nov 2023 09:41:42 -0800 writes:
> This is another follow-up to the thread from September
> "Recent changes to as.complex(NA_real_)".
> A test in data.table was broken by the changes for NA
> coercion to complex; the breakage essentially comes from
> c(NA, 0+1i)
> # vs
2023 Nov 07
1
c(NA, 0+1i) not the same as c(as.complex(NA), 0+1i)?
Thanks Martin. My hang-up was not on what the outcome of as.complex(NA)
should be, but rather, how I should read code like c(x, y) generally. Till
now, I have thought of it like 'c(x, y)' is c(as(x, typeof(y)), y)` when
"type(y) > type(x)". Basically in my mind, "coercion" in R <->
as.<newtype>(.) (or coerceVector() in C).
So I tracked down the source
2016 Jul 16
1
sample() fails with double or integer NA input of length one
Hi,
I have discovered that sample() fails with an uninformative error
message when the x argument is a single NA of type double or integer.
I can reproduce the problem with the following code:
base::sample(NA)
# NA is of logical type above
base::sample(NA_character_)
base::sample(NA_complex_)
base::sample(NA_real_)
base::sample(NA_integer_)
The last two lines throw the following error:
Error
2013 Dec 12
2
Status of reserved keywords and builtins
According to http://cran.r-project.org/doc/manuals/r-release/R-lang.html#Reserved-words
if else repeat while function for in next break
TRUE FALSE NULL Inf NaN
NA NA_integer_ NA_real_ NA_complex_ NA_character_
... ..1 ..2 etc.
are all reserved keywords.
However, in R 3.0.2 you can do things like:
`if` <- function(cond, val1, val2) val2
after which
if(TRUE) 1 else 2
returns 2.
2010 Mar 31
2
Should as.complex(NaN) -> NA?
I'm having trouble grokking complex NaN's.
This first set examples using complex(re=NaN,im=NaN)
give what I expect
> Re(complex(re=NaN, im=NaN))
[1] NaN
> Im(complex(re=NaN, im=NaN))
[1] NaN
> Arg(complex(re=NaN, im=NaN))
[1] NaN
> Mod(complex(re=NaN, im=NaN))
[1] NaN
> abs(complex(re=NaN, im=NaN))
[1] NaN
and so do the following
> Re(complex(re=1,
2024 Sep 06
0
BUG: atan(1i) / 5 = NaN+Infi ?
It seems to me that the documentation of R's complex class & R's atan function do not tell us what to expect, so (as others have suggested), some additional notes are needed. I think that mathematically atan(1i) should be NA_complex_, but R seems not to use any mathematically standard compactification of the complex plane (and I'm not sure that IEEE does either).
Incidentally, the
2015 Oct 07
0
read.table reads "i" as NA_complex_
This is fixed/changed in r-devel:
> str(type.convert("i"))
Factor w/ 1 level "i": 1
It was reported on July 18 as PR#16473, if you care.
(Funny how an obscure issue goes unnoticed for a decade, then pops up twice independently within a few months. A property of the Poisson process, I suppose.)
> On 07 Oct 2015, at 22:22 , William Dunlap <wdunlap at tibco.com>
2015 Oct 07
3
read.table reads "i" as NA_complex_
I just noticed that read.table() and type.convert() interpret the string "i"
as a missing value of type complex.
> str(read.table(text=c("i\ni\ni\ni\n")))
'data.frame': 4 obs. of 1 variable:
$ V1: cplx NA NA NA ...
> str(type.convert("i"))
cplx NA
If there are other strings in the column it makes the column character so
most people
2009 Jun 03
2
Create a time interval from a single time variable
I am trying to set up a data set for a survival analysis with time-varying covariates. The data is already in a long format, but does not have a variable to signify the stopping point for the interval. The variable DaysEnrolled is the variable I would like to use to form this interval. This is what I have now:
ID Age DaysEnrolled HAZ WAZ WHZ Food onARV
2008 Jun 19
1
PrettyR (describe)
#is there a way to get NA in the table of descriptive statistics instead of
the function stopping Thank you in advance
#data
x.f <- structure(list(Site = structure(c(9L, 9L, 9L, 9L, 9L, 9L, 9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
9L, 9L, 9L, 9L), .Label = c("BC", "HC", "RM119", "RM148", "RM179",
"RM185",
2012 Apr 19
1
SmoothTrend in OpenAir
I'm trying to plot smooth trend using smoothTrend in OpenAir but I'm having
problems.
I used the following code.
---------------------------------------------------------------------------------
#Set my working dir to the dir with my files
setwd("c:/R")
#Load the openair library
library(openair)
#Load the data
mydata <- read.table("MCNP-pH.csv", header=TRUE,
2012 Jul 18
2
loop searching the id corresponding to the given index (timestamp)
Hello,
I have the following loop for two data sets: diveData_2008 and
diveData_2009. It uses two other data: diveCond_all and fishTable. The
problem is at the point to identify the dive_id for the given index (index
is timestamp). It keeps on saying
for the1st loop
Error in fishReport$dive_id[i] <- dive_id : replacement has length zero
for the 2nd loop
Error in fishReport$dive_id[i + j] <-
2010 Nov 24
0
rbind error (maybe a problem with chron package?)
Hello,
I have a list of data frames that I would like to combine to a single
data frame. I typically do this with:
do.call(rbind, list.of.dataframes)
This time, I get
Error in class(x) <- cl :
cannot set class to "array" unless the dimension attribute has
length > 0
I'm not sure what's happening. Each data frame has a column of chron
objects and a column of float
2008 Apr 29
1
merging multiple data frames with different numbers of rows
merge can only merge two objects at a time- I would like to merge more than
two objects at a time.
s.d <- structure(list(RiverMile = c(202L, 198L, 190L, 185L, 179L, 148L,
119L, 61L)), .Names = "RiverMile", row.names = c(NA, -8L), class =
"data.frame")
#s.d is all of the river miles that can occur in all of the data frames that
I want to put together
feb06 <-
2017 Jan 11
2
R 'base' returning 0 as sum of NAs
Dear R Team
The following line returns 0 (zero) as answer:
sum(c(NA_real_, NA_real_, NA_real_, NA_real_), na.rm = TRUE)
One would, however, have expected it to return 'NaN', as is the case with
function 'mean':
> mean(c(NA_real_, NA_real_, NA_real_, NA_real_), na.rm = TRUE)
[1] NaN
The problem in other words:
I have a vector filled with missing numbers. I run the