Displaying 20 results from an estimated 11000 matches similar to: "Unexpected argument-matching when some are missing"
2018 Nov 29
3
Unexpected argument-matching when some are missing
On Thu, Nov 29, 2018 at 10:51 AM S Ellison <S.Ellison at lgcgroup.com> wrote:
>
> > When trying out some variations with `[.data.frame` I noticed some (to me)
> > odd behaviour,
>
> Not just in 'myfun' ...
>
> plot(x=1:10, y=)
> plot(x=1:10, y=, 10:1)
>
> In both cases, 'y=' is ignored. In the first, the plot is for y=NULL (so not
2018 Nov 29
0
Unexpected argument-matching when some are missing
On Thu, Nov 29, 2018 at 5:09 AM Emil Bode <emil.bode at dans.knaw.nl> wrote:
>
> When trying out some variations with `[.data.frame` I noticed some (to me) odd behaviour, which I found out has nothing to do with `[.data.frame`, but rather with the way arguments are matched, when mixing named/unnamed and missing/non-missing arguments. Consider the following example:
>
>
>
>
2018 Nov 29
0
Unexpected argument-matching when some are missing
> When trying out some variations with `[.data.frame` I noticed some (to me)
> odd behaviour,
Not just in 'myfun' ...
plot(x=1:10, y=)
plot(x=1:10, y=, 10:1)
In both cases, 'y=' is ignored. In the first, the plot is for y=NULL (so not 'missing' y)
In the second case, 10:1 is positionally matched to y despite the intervening 'missing' 'y='
So it
2011 Jul 25
1
do.call in "with" construction
Dear all,
I'd appreciate any help to rectify what must be a misconception of mine how
environments work:
##########################
myEnv <- new.env()
myEnv$a.env <- 1
myEnv$symbols.env <- "a.env"
a.global <- 2
symbols.global <- "a.global"
myFun <- function(symbols){do.call("print", lapply(symbols, FUN=as.name))}
do.call("myFun",
2018 Nov 21
3
Subsetting row in single column matrix drops names in resulting vector
Hi Rui. Thanks for answer, I'm aware of drop = FALSE option. Unfortunately
it doesn't resolve the issue - I'm expecting to get a vector, not a matrix .
??, 21 ????. 2018 ?. ? 20:54, Rui Barradas <ruipbarradas at sapo.pt>:
> Hello,
>
> Use drop = FALSE.
>
> a[1, , drop = FALSE]
> # col1
> #row1 1
>
>
> Hope this helps,
>
> Rui Barradas
2020 May 12
4
S3 method dispatch for methods in local environments
Dear All,
In R 3.6.3 (and earlier), method dispatch used to work for methods stored in local environments that are attached to the search path. For example:
myfun <- function(y) {
out <- list(y=y)
class(out) <- "myclass"
return(out)
}
print.myclass <- function(x, ...) print(formatC(x$y, format="f", digits=5))
myfun(1:4)
# prints: [1]
2008 Jan 28
1
package.skeleton from within function: objects not found
Hi all,
I ran into a strange error: I am trying to create a package skeleton for a
new source package from within a function. Objects that are created in this
function are to be included in my package, but for some reason, I get an
error message saying that these objects cannot be found.
Here is the code:
######
myfun <- function(pkgName,x){
myenv <- new.env()
apply(x, 1,
2018 Sep 14
2
Bug when calling system/system2 (and request for Bugzilla account)
I hope it's not too specific in my setup...
I've tried with system2 added on the first line, so:
Example.R:
system2('ls', timeout=5)
cat('Start non-interruptable functions\n')
sample_a <- sample(1:1e7)
sample_b <- sample(1:2e7)
matching <- match(sample_a, sample_b)
cat('Finished\n')
Sys.sleep(10)
And in terminal/bash:
R --vanilla
2018 Sep 11
2
Modification-proposal for %% (modulo) when supplied with double
Hi all,
Could we modify the "%%" (modulo)-operator to include some tolerance for rounding-errors when supplied with doubles?
It's not much work (patch supplied on the bottom), and I don't think it would break anything, only if you were really interested in analysing rounding differences.
Any ideas about implementing this and overwriting base::`%%`, or would we want another
2018 Sep 14
3
Bug when calling system/system2 (and request for Bugzilla account)
Hi all,
I found some strange behaviour, which I think is a bug. Could someone make an account for me on Bugzilla or pass on my report?
The problem:
When pressing Ctrl-C when a file is sourced in R, run from Terminal (macOS), sometimes the entire session is ended right away, while I just want to stop the script. This is the case when I press Ctrl-C while some functions are running that don?t
2018 Sep 11
1
Modification-proposal for %% (modulo) when supplied with double
Duncan, I think Emil realizes that the floating point format isn't
able to represent certain numbers, that's why he is suggesting this
change rather than complaining about our arithmetic being broken.
However, I agree with you that we should not adopt his proposal. It
would not make things more "user friendly" for people. Everyone has a
different application and a different use
2018 Nov 30
2
Unexpected argument-matching when some are missing
But the main point is where arguments are mixed together:
> debugonce(plot.default)
> plot(x=1:10, y=, 'l')
...
Browse[2]> missing(y)
[1] FALSE
Browse[2]> y
[1] "l"
Browse[2]> type
[1] "p"
I think that's what I fall over mostly: that named, empty arguments behave entirely different from omitting them (", ,")
And I definitely agree we need
2018 Dec 03
1
Unexpected argument-matching when some are missing
>>>>> Michael Lawrence
>>>>> on Fri, 30 Nov 2018 08:24:31 -0800 writes:
> Argument matching is by name first, then the still missing
> arguments are filled positionally. Unnamed missing
> arguments are thus left missing. Does that help?
Thank you, Michael!
Unfortunately, it may not help sufficiently notably once this
thread will be
2006 Jun 02
4
function environment
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
how can I automatically access the functions that I loaded into a
separate environment?
> save(A,B,file="myfun.r")
> load("myfun.r",envir=(ENV<-new.env()))
> ls(ENV)
[1] "A" "B"
?"[" turned up that I can access the functions via
> ENV$A
function ()
{
}
> ENV$A()
NULL
Now, how
2018 Aug 29
7
ROBUSTNESS: x || y and x && y to give warning/error if length(x) != 1 or length(y) != 1
# Issue
'x || y' performs 'x[1] || y' for length(x) > 1. For instance (here
using R 3.5.1),
> c(TRUE, TRUE) || FALSE
[1] TRUE
> c(TRUE, FALSE) || FALSE
[1] TRUE
> c(TRUE, NA) || FALSE
[1] TRUE
> c(FALSE, TRUE) || FALSE
[1] FALSE
This property is symmetric in LHS and RHS (i.e. 'y || x' behaves the
same) and it also applies to 'x && y'.
2018 Oct 02
1
Relevel confusing with numeric value
Something that bit me:
The function relevel takes a factor, and a reference level to be promoted to the first place.
If ?ref? is a character this level is promoted, if it?s a numeric the ?ref?-th level is promoted.
Which turns out to be very confusing if you have factor with numeric values (e.g. when reading in a csv with some dirty numeric columns and stringsAsFactors TRUE)
For example:
2007 Oct 25
3
Deparsing part of a list argument
Here's a simple example of the type of function I'm trying to write,
where the first argument is a list of functions:
myfun <- function(funlist, vec){
tmp <- lapply(funlist, function(x)do.call(x, args = list(vec)))
names(tmp) <- names(funlist)
tmp
}
> myfun(list("Summation" = sum, prod, "Absolute value" = abs), c(1, 4, 6, 7))
$Summation
[1]
2018 Jul 24
2
oddity in transform
The idea is that one wants to write the line of code below
in a general way which works the same
whether you specify ix as one column or multiple columns but the naming entirely
changes when you do this and BOD[, 1] and transform(BOD, X=..., Y=...) or
other hard coding solutions still require writing multiple cases.
ix <- 1:2
transform(BOD, X = BOD[ix] * seq(6))
On Tue, Jul 24, 2018 at
2018 Jul 23
2
oddity in transform
Note the inconsistency in the names in these two examples. X.Time in
the first case and Time.1 in the second case.
> transform(BOD, X = BOD[1:2] * seq(6))
Time demand X.Time X.demand
1 1 8.3 1 8.3
2 2 10.3 4 20.6
3 3 19.0 9 57.0
4 4 16.0 16 64.0
5 5 15.6 25 78.0
6 7 19.8 42 118.8
>
2018 Aug 31
3
compairing doubles
Agreed that's it's rounding error, and all.equal would be the way to go.
I wouldn't call it a bug, it's simply part of working with floating point numbers, any language has the same issue.
And while we're at it, I think the function can be a lot shorter:
.is_continous_evenly_spaced <- function(n){
length(n)>1 && isTRUE(all.equal(n[order(n)], seq(from=min(n),