35得票4回答
使用列作为参数,将R data.table的apply函数应用于行

我有以下的data.tablex = structure(list(f1 = 1:3, f2 = 3:5), .Names = c("f1", "f2"), row.names = c(NA, -3L), class = c("data.table", "data.frame")) 我希望对d...

34得票1回答
将函数应用于两个列表?

为了找到矩阵X和Y的行相关性,输出应该对于X的第1行和Y的第1行有一个相关值, ...,因此总共有十个值(因为有十行):X <- matrix(rnorm(2000), nrow=10) Y <- matrix(rnorm(2000), nrow=10) sapply(1:10,...

22得票2回答
如何让mapply函数返回一个列表?

假设我有一个创建数据框的函数。我想使用不同的输入值运行该函数,然后将结果合并成一个大的数据框,如下所示:CreateDataFrame <- function(type="A", n=10, n.true=8) { data.frame(success=c(rep(TRUE, n.t...

18得票2回答
对所有参数组合应用一个函数

我希望能够对一组输入参数的所有组合应用一个函数。我有一个可行的解决方案(如下),但如果没有更好/更通用的方法来使用plyr等,则会感到惊讶,但到目前为止还没有找到任何东西。是否有更好的解决方案? # Apply function FUN to all combinations of argu...

15得票5回答
在R中避免使用多个for循环计算矩阵

在为回答一个地图问题生成一些虚假数据的过程中,我发现自己写出了以下内容:# Generate some fake data lat <- seq(-90, 90, by = 5) lon <- seq(-180, 180, by = 10) phi <- matrix(0, ...

14得票3回答
将一个函数应用于两个变量的每个元素

我有一个含有两个变量x和y的函数:fun1 <- function(x,y) { z <- x+y return(z) } 这个函数本身工作良好:fun1(15,20) 但是当我尝试使用apply函数将其用于x和y两个向量时,得到的56*121数组不正确Lx <- ...

14得票2回答
Vectorize()和apply()的区别

R中的Vectorize()和apply()函数通常可以用来实现同样的目标。出于可读性的原因,我通常更喜欢对函数进行向量化处理,因为主调用函数与手头的任务相关,而sapply则不是这样。当我在R代码中多次使用该向量化函数时,使用Vectorize()也很有用。例如:a <- 100 b ...

10得票3回答
R的数据表格列名在函数内部无法正常使用

我正在尝试在一个函数中使用data.table,并且我正在努力理解为什么我的代码失败了。我有一个如下的data.table:DT <- data.table(my_name=c("A","B","C","D","E","F"),my_id=c(2,2,3,3,4,4)) > DT ...

9得票3回答
在R语言中使用mapply函数时针对子集参数的非标准评估

我无法在使用 mapply 时使用 xtabs 或 aggregate 的 subset 参数(或我测试过的任何函数,包括 ftable 和 lm)。以下调用在使用 subset 参数时失败,但不使用该参数时可以正常工作: mapply(FUN = xtabs, formula...

8得票1回答
为什么从Map返回的data.table会被复制?

我了解到data.table在从函数返回时不会被复制。然而,在这种特殊情况下,它确实被复制了。有人可以解释一下为什么吗? dt1 <- data.table(a=1) dt2 <- data.table(b=1) dt3 <- data.table(c=1) addres...