什么是R的等同于Perl的地图和grep?

前端之家收集整理的这篇文章主要介绍了什么是R的等同于Perl的地图和grep?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对R中的(功能)向量操纵感兴趣.具体来说,R的等同于Perl的 mapgrep是什么?

以下Perl脚本会将均匀的数组元素和它们乘以2:

@a1=(1..8); 
@a2 = map {$_ * 2} grep {$_ % 2 == 0} @a1;
print join(" ",@a2)
# 4 8 12 16

我该怎么办?我有这么远,用于Perl的地图:

> a1 <- c(1:8)
> sapply(a1,function(x){x * 2})
[1]  2  4  6  8 10 12 14 16

在哪里可以阅读更多关于R中的这种功能阵列操作?

另外,是否有一个Perl to R短语书,类似于Perl Python Phrasebook

解决方法

R有“grep”,但它的作用完全不同于你以前习惯的. R内置的内容更好:它具有使用布尔表达式创建数组切片的能力:
a1 <- c(1:8)
a2 <- a1 [a1 %% 2 == 0]
a2
[1] 2 4 6 8

对于地图,您可以像上面那样应用一个函数,但是写得更简单:

a2 * 2
[1]  4  8 12 16

或者一步一步:

a1[a1 %% 2 == 0] * 2
[1]  4  8 12 16

我从来没有听说过Perl to R短语书,如果你曾经找到一个让我知道的话!一般来说,R文件比perl或python少,因为它是一种利基语言.

猜你在找的Perl相关文章