作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可能有一个 tcrossprod 版本可以实现这一点,但我找不到它。从下面的示例中,如果顺序无关紧要,如何仅获取第一次出现组合的行? IE。 (1,2) 对我来说和 (2,1) 是一样的。
a <- c(1,2,3,4)
b <- c(10,5,4,10)
df<- data.frame(a,b)
melt(tcrossprod(df$b,1/df$b))
> melt(tcrossprod(df$b,1/df$b))
Var1 Var2 value
1 1 1 1.00
2 2 1 0.50
3 3 1 0.40
4 4 1 1.00
5 1 2 2.00
6 2 2 1.00
7 3 2 0.80
8 4 2 2.00
9 1 3 2.50
10 2 3 1.25
11 3 3 1.00
12 4 3 2.50
13 1 4 1.00
14 2 4 0.50
15 3 4 0.40
16 4 4 1.00
最佳答案
有 m <- melt(tcrossprod(df$b,1/df$b))
,你可以简单地做:
subset(m,X1>X2)
# X1 X2 value
#2 2 1 0.5
#3 3 1 0.4
#4 4 1 1.0
#7 3 2 0.8
#8 4 2 2.0
#12 4 3 2.5
关于具有独特组合的 R tcrossprod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28181837/
可能有一个 tcrossprod 版本可以实现这一点,但我找不到它。从下面的示例中,如果顺序无关紧要,如何仅获取第一次出现组合的行? IE。 (1,2) 对我来说和 (2,1) 是一样的。 a me
我正在使用 tcrossprod在 R 中的矩阵上运行。它对我的数据及其转置进行叉积。即数据 %*% t(data)。 问题是,我不希望单独的运算(数据中的行和 t(data) 中的列之间)是乘法运算
我是一名优秀的程序员,十分优秀!