r - 如何计算R中XX^T中的所有元素?
问题描述
设X为 n 行 p 列的矩阵。我想计算通过将 X 的行乘以相同行的转置获得的所有 p 乘以 p 矩阵。也就是说,第一个矩阵是
X[1,]%*%t(X[1,])
我想避免 for 循环,所以我想知道如何获得与
X[i,]%*%t(X[i,])
使用更直接的命令,例如apply
or sweep
。对不起,我只是不知道该怎么做。
解决方案
您应该使用crossprod
ortcrossprod
来进行类似的操作(请参见此处)。在你的情况下,
lapply(1:nrow(X), function(i) tcrossprod(X[i,]))
推荐阅读
- java - 使用jackson xml映射器将xml反序列化为pojo
- javascript - 为什么我的对象 contentDocument 返回 null?
- ios - 数百个目标,xcode 配置中的相同代码库
- dart - 带有/不带关键字`new`的Dart工厂构造函数,有什么区别?
- c - 块范围内的 extern 与文件范围内的 typedef 不冲突?
- javascript - 计算字符串中重复字符的函数
- google-kubernetes-engine - gke 上的 Istio 多集群配置
- python - Python:使用已知字符制作蛮力哈希检查器
- google-sheets - Google 表格 - 单击选项卡/表格时触发操作
- javascript - 如何在 promise.then() 中检索对此的引用?