小编Abd*_*del的帖子

根据第二个数组的元素对数组进行排序

假设我有两个看起来像这样的数组:

('1', '6', '8', '4', '5')
('a', 'c', 'd', 'f', 'w')
Run Code Online (Sandbox Code Playgroud)

我想对第一个数组进行排序,第二个数组中元素的顺序应该与第一个数组的顺序相同,所以两者的顺序如下:

('1', '4', '5', '6', '8')
('a', 'f', 'w', 'c', 'd')
Run Code Online (Sandbox Code Playgroud)

在Perl中如何做到这一点的任何想法?

arrays sorting perl data-structures perl-data-structures

6
推荐指数
1
解决办法
4211
查看次数

如何在Perl中以完全相同的方式对两个数组进行洗牌?

有没有人知道如何在Perl中以完全相同的方式随机混乱两个数组?例如,假设我有这两个数组:

在改组之前:阵列1:1,2,3,4,5阵列2:a,b,c,d,e

改组后:阵列1:2,4,5,3,1阵列2:b,d,e,c,a

因此每个数组中的每个元素都绑定到它的等效元素.

arrays perl shuffle

5
推荐指数
4
解决办法
1044
查看次数

荷兰的Themathic地图/等值线图

我有很多关于荷兰人的数据,我想通过等值线图来形象化.我也有个人的位置(经度和纬度),所以我希望可以在荷兰地图上将其划分为市政当局(=荷兰语中的"gemeente"),因此我可以为每个市政府着色根据居住在那里的所有人的平均价值.我知道R包maptools可以制作等值区域映射,但我相信它需要.shp文件形式的模板映射.有谁知道我在哪里可以找到这样的荷兰模板?最好是市政当局而不是每个省,所以对于这个图像,它将是左边的那个:

http://www.kb.nl/skd/profiel/estads90.gif

任何其他软件包/软件/等的建议也欢迎!非常感谢!

geocoding r geospatial

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

如果我有t-statistic和df(在Perl中),我该如何计算p值?

我编写了一个执行许多单样本t检验的Perl脚本.我得到了数以千计的自由度(df)统计量.我需要升级脚本以返回它们的p值(在表中手动查找它们太多了).我可以用t-statistic和df作为输入来使用某种公式吗?我希望有人可以帮助我,非常感谢!

AA

statistics perl

4
推荐指数
2
解决办法
2万
查看次数

Perl中哈希元素的通配符

我试图检查是否存在某个哈希元素.哈希有两个键:

if (exists $hash{$key1}{*})
{
then do blabla
}
Run Code Online (Sandbox Code Playgroud)

所以,在*的位置,我想使用通配符(即,该值可以是任何值).在这样的情况下,Perl的通配符charachter是什么?非常感谢!

perl hash wildcard

4
推荐指数
1
解决办法
2341
查看次数

Unix代码想要复制模板文件并替换复制文件中模板文件中的字符串

我有2个文件:

File_1.txt:

John
Mary
Harry
Bill
Run Code Online (Sandbox Code Playgroud)

File_2.txt:

My name is ID, and I am on line NR of file 1.
Run Code Online (Sandbox Code Playgroud)

我想创建四个看起来像这样的文件:

Output_file_1.txt:

My name is John, and I am on line 1 of file 1.
Run Code Online (Sandbox Code Playgroud)

Output_file_2.txt:

My name is Mary, and I am on line 2 of file 1.
Run Code Online (Sandbox Code Playgroud)

Output_file_3.txt:

My name is Harry, and I am on line 3 of file 1.
Run Code Online (Sandbox Code Playgroud)

Output_file_4.txt:

My name is Bill, and I am on line 4 of file 1.
Run Code Online (Sandbox Code Playgroud)

通常我会使用以下sed命令来执行此操作:

for q …
Run Code Online (Sandbox Code Playgroud)

bash sed

4
推荐指数
1
解决办法
2583
查看次数

Unix代码想要更改列值

我有一个看起来像这样的文件:

ID1 ID2 3
ID2 ID3 3
ID4 ID5 3
ID6 ID7 4
ID8 ID9 4
ID8 ID6 4
Run Code Online (Sandbox Code Playgroud)

我想将其更改为:

ID1 ID2 1
ID2 ID3 1
ID4 ID5 1
ID6 ID7 2
ID8 ID9 2
ID8 ID6 2
Run Code Online (Sandbox Code Playgroud)

所以我想将第3列的所有3和4分别改为1和2.对于一个非常大的文件,最有效的方法是什么?提前谢谢了!

unix bash

4
推荐指数
1
解决办法
5010
查看次数

Unix - 根据列值随机选择行

我有一个大约1000行的文件,如下所示:

ABC C5A 1
CFD D5G 4
E1E FDF 3
CFF VBV 1
FGH F4R 2
K8K F9F 3
... etc
Run Code Online (Sandbox Code Playgroud)

我想选择100个随机行,但是每个第三列值有10个(所以第3列中所有行的随机10行值为"1",第3列中值为"2"的所有行随机10行,等等).

这可能使用bash吗?

unix random bash

4
推荐指数
1
解决办法
674
查看次数

unix:根据列值合并文件

我有两个文件,看起来像这样:

文件1(2列):

ID1 123
ID2 234
ID3 232
ID4 344
...
Run Code Online (Sandbox Code Playgroud)

文件2(> 100万列)

ID2 A C ...
ID3 G T ...
ID1 C T ...
ID4 A C ... 
...
Run Code Online (Sandbox Code Playgroud)

我想将基于ID的文件1的第2列的值添加到文件2作为第二列.因此合并的文件应如下所示:

ID2 234 A C ...
ID3 232 G T ...
ID1 123 C T ...
ID4 344 A C ... 
...
Run Code Online (Sandbox Code Playgroud)

所以与文件2(相同的行顺序)完全相同,但添加了第二列.ID是第一列的值(存在于两个文件中).文件1具有比文件2更多的行/ ID.文件2中的所有ID都在文件1中,但文件1中的所有ID都不在文件2中.

有没有人知道如何在unix/bash下执行此操作?非常感谢!

unix bash merge

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

绘制带有颜色渐变的geom_segment线?(或者还有另一种方法来强调开始与结束吗?)

我的数据框中有大量行(~100,000)的两组纬度和经度变量。我正在尝试制作一个连接这两组坐标的图(即从latitude1,longitude1latitude2,longitude2 的~100,000 条线),使用 geom_segment ,用非常低的 alpha 使线透明,因为有太多线。

我想强调这些线的起点和终点,我认为最好的方法是从开始到结束有一个颜色渐变(假设从绿色到红色)。

是否可以绘制带有颜色渐变的geom_segment线?如果没有,你知道用这么多行来强调开始和结束的另一种方法吗?

(我意识到它最终可能看起来很混乱,因为有太多的线条,但我怀疑其中许多都朝着同一个方向......)

下面是一些 5 行的示例数据(但实际上我有大约 100,000 行,所以它应该具有一定的计算效率):

 example.df <- as.data.frame(matrix(c(1,435500,387500,320000,197000,
                                      2,510500,197500,513000,164000,
                                      3,164500,40500,431000,385000,
                                      4,318500,176500,316000,172000,
                                      5,331500,188500,472000,168000),
                                      nrow=5, ncol=5, byrow = TRUE))
  colnames(example.df) <- c("ID","longitude.1","latitude.1",
                            "longitude.2","latitude.2")

 library(ggforce)
 ggplot(example.df, aes(longitude.1, latitude.1))+
 geom_link(aes(x=longitude.1, y=latitude.1,
               xend=longitude.2, yend=latitude.2, 
               alpha=0.5), col="black")+
 coord_equal()
Run Code Online (Sandbox Code Playgroud)

这会产生以下五行: 在此输入图像描述

我希望这些线在第一个经纬度坐标点处以蓝色开始,在第二个经纬度坐标点处以红色结束。

r line ggplot2

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