加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 22:01:49 所属栏目:大数据 来源:网络整理
导读:我对R中的(功能)向量操纵感兴趣.具体来说,R的等同于Perl的 map 和 grep 是什么? 以下Perl脚本会将均匀的数组元素和它们乘以2: @a1=(1..8); @a2 = map {$_ * 2} grep {$_ % 2 == 0} @a1;print join(" ",@a2)# 4 8 12 16 我该怎么办?我有这么远,用于Perl的
我对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少,因为它是一种利基语言.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读