为了找到两个矩阵X和Y的行方向相关性,输出应该具有X的行1和Y的行1的相关值,...因此总共十个值(因为有十行):
X <- matrix(rnorm(2000), nrow=10)
Y <- matrix(rnorm(2000), nrow=10)
sapply(1:10, function(row) cor(X[row,], Y[row,]))
Run Code Online (Sandbox Code Playgroud)
现在,我应该如何将此函数应用于两个列表(每个包含大约50个数据帧)?
考虑列表A具有数据帧$ 1,$ 2,$ 3 ......等等,列表B具有相似数量的数据帧$ 1,$ 2,$ 3.因此,功能应适用于listA$1,listB$1并listA$2,listB$2在列表中的其他dataframes ...等等.最后,我将在比较1(listA$1和listB$1)和其他人的情况下有十个值.
这可以用"lapply"来完成吗?
我正在使用R接口的R igraph来使用函数生成具有恒定数量的节点n和边缘的随机定向网络(Erdös-Rényi)。msample_gnm
为了确保我了解所使用的算法,尽管没有C方面的经验,但还是检查了C源代码。据我了解C代码,有一条if语句应该导致带有索引的节点的过多表示n接收定向边缘。
这是真实的代码:https : //github.com/igraph/igraph/blob/7d4be976481356fa673772e6e7c30b637ea8dd52/src/games.c#L734-L736 ,这是我如何理解伪代码中的C代码:
# What is the maximum number of edges a network with n nodes could have
maxEdges := n*(n-1)
s := uniformly sample m integers from [1, maxEdges] without replacement
for (i = 1; i = m; i++) {
# Get IDs for nodes A and B with equal probability over n
nodeA := floor(s[i] / (n)) + 1
nodeB := s - ((nodeA …Run Code Online (Sandbox Code Playgroud)