小编Jim*_*son的帖子

找出两个向量的所有值之间的差异

我试图找到许多数字对之间的差异.

这些数字是两个长度不等的向量.例如,

    a<- c(1:5)
    b<- c(1:10)
Run Code Online (Sandbox Code Playgroud)

现在,我需要一些方法来计算a [[1]] - b然后a [[2]] - b等等,直到[[5]] - b.这些计算中的每一个都应该产生一个10个数字长的向量.

这些差异向量中的每一个应该作为列存储在数据帧中.第一列应该减去"b"的位置,随后的列应该以"a"的位置标题(所以有5列和10行).

         a[1] a[2] ... a[5]
    b[1]
    b[2]
    ...
    b[10]
Run Code Online (Sandbox Code Playgroud)

我很擅长在R中编写函数.我也是使用*apply函数组的新手.我一直试图结合我所学的关于编写函数和*apply函数组来解决这个问题,但它还没有发生.谢谢您的帮助!

PS对不起,如果之前有人询问过.我搜索但找不到答案.

r vector

5
推荐指数
2
解决办法
1142
查看次数

从向量 R 中的所有其他值中减去向量中的每个值

说我有一个矩阵

    data<-matrix(seq(1,6),ncol=2,nrow=3,byrow=TRUE)
          A  B
    [1,]  1  2
    [2,]  3  4
    [3,]  5  6
Run Code Online (Sandbox Code Playgroud)

从“A”列开始,我想创建一个包含“A”中每个数字与“A”中每个其他数字之间成对差异的向量。有效:

    c(1-1, 1-3, 1-5, 3-1, 3-3, 3-5, 5-1, 5-3, 5-5)
Run Code Online (Sandbox Code Playgroud)

然后我需要对第二列做同样的事情,依此类推。最终我需要将这些向量绑定到一个新的差异矩阵中。

我觉得这应该可以通过应用函数或sweep() 来实现,但我无法将它们组合在一起。

感谢您的帮助!

附注。如果答案涉及编写函数或 for 循环,您能否给我一个虚拟的中等级别的解释?我是第一次学习编码,但我仍然无法理解 for 循环,我仍然在为编写自己的函数的逻辑而苦苦挣扎。

for-loop r function

3
推荐指数
1
解决办法
1612
查看次数

标签 统计

r ×2

for-loop ×1

function ×1

vector ×1