我的矢量具有经度和纬度:
longDim
[1] -79.65770 -79.21761 -78.77750
latiDim
[1] -39.70588 -39.26471 -38.82353
,我想并行遍历它们的组合。为此,我首先使用expand.grid
创建一个具有所有可能组合的数据框:
my.grid <- expand.grid(longDim, latiDim)
然后在结果数据帧的行上使用mclapply()
:
mclapply(1:nrow(my.grid), function(x){some_function})
其中some_function
返回一个包含两个对象的列表,每个对象的长度为139。
因此,结果是我得到了一个尺寸为9x2的嵌套列表,如下所示:
str(l1)
List of 9
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 2
..$ su.25: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ su.30: Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
现在,我需要将该列表从9x2重新调整为3x3x2尺寸。这是我正在寻找的格式:
str(l2)
List of 3
$ :List of 3
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 3
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
$ :List of 3
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
..$ :List of 2
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
.. ..$ : Named num [1:139] 0 0 0 0 0 0 0 0 0 0 ...
.. .. ..- attr(*, "names")= chr [1:139] "1961" "1962" "1963" "1964" ...
我该如何实现?
可以在以下位置找到用于重现l1
和l2
的代码:https://pastebin.com/raw/LTyZi0mp(太长了,无法在此处发布)
答案 0 :(得分:1)
您可以使用basenlp.add_pipe(compounds, "compounds", before="ner")
。
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
data = np.genfromtxt("matrix.txt");
data_new = data.reshape([1000,1000])
ax.matshow(data_new)
测试
Red : > 0.1
Blue : 0.01-0.1
Magenta : 0.001-0.01
Yellow : 0.0001-0.001
Brown : 0.00001-0.0001
Green : 0.000001-0.00001
Gray : < 0.000001
答案 1 :(得分:1)
我们还可以使用gl
创建分组索引以进行split
split(lst, as.integer(gl(length(lst1), 3, length(lst1))))
lst1 <- replicate(9, list(list(x = 1:5, y = 1:5)))