相关疑难解决方法(0)

R 中应用函数中的边距参数

这个问题更多地是关于 apply 函数中的 MARGIN 参数而不是任何东西。假设我想将以下矩阵乘以以下向量,以便我将第一个矩阵元素乘以第一个向量元素,第二个乘以第二个,依此类推。我使用以下代码:

matrix <- matrix(1:10)
vector <- c(10:19)
t(apply(matrix,2,'*',vector))
Run Code Online (Sandbox Code Playgroud)

返回一个非常干净的结果:

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]   10   22   36   52   70   90  112  136  162   190
Run Code Online (Sandbox Code Playgroud)

但是如果我改变 MARGIN = 2,我会得到这个结果:

matrix <- matrix(1:10)
vector <- c(10:19)
t(apply(matrix,1,'*',vector))

       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]   10   11   12   13   14   15   16   17   18    19
 [2,]   20   22   24   26   28   30   32   34   36    38
 [3,]   30   33 …
Run Code Online (Sandbox Code Playgroud)

r margin multiplication apply

5
推荐指数
1
解决办法
8250
查看次数

子集化数据帧中意外输出的原因 - R.

我有数据框"a",它有一个名为"VAL"的变量.我想计算VAL值为23或24的元素.

我使用了两个有效的代码:

nrow(subset(a,VAL==23|VAL==24) 
nrow(subset(a,VAL %in% c(23,24)))
Run Code Online (Sandbox Code Playgroud)

但是,我尝试了其他代码,它提供了意想不到的输出,我不知道为什么.

nrow(subset(a,VAL ==c(23,24)))
Run Code Online (Sandbox Code Playgroud)

即使我改变了23和24的顺序,它也会产生不同的意外输出.

nrow(subset(a,VAL ==c(24,23)))
Run Code Online (Sandbox Code Playgroud)

为什么这些代码不正确?他们到底在做什么?

r subset

2
推荐指数
1
解决办法
335
查看次数

标签 统计

r ×2

apply ×1

margin ×1

multiplication ×1

subset ×1