python属于通用编程语言吗_python – R作为通用编程语言

我认为,R的数据预处理能力 – 即从提取数据源和分析步骤之前的所有数据 – 在过去三年(我一直在使用R的时间长度)方面有了显着的改善.我每天都在使用python,并且在过去的七年左右,它的文本处理能力是非常棒的,而且我仍然会毫不犹豫地使用R作为你提到的任务类型.

一些条件虽然.首先,我建议非常仔细地查看几个外部程序包,用于您的Q中的一组任务,特别是哈希(类似python的键值数据结构)和stringr(主要由较少的包装器组成)基础库中用户友好的字符串操作功能)

字符串和哈希都可以在CRAN上使用.

> library(hash)

> dx = hash(k1=453, k2=67, k3=913)

> dx$k1

[1] 453

> dx = hash(keys=letters[1:5], values=1:5)

> dx

containing 5 key-value pair(s).

a : 1

b : 2

c : 3

d : 4

e : 5

> dx[a]

containing 1 key-value pair(s).

a : 1

> library(stringr)

> astring = 'onetwothree456seveneight'

> ptn = '[0-9]{3,}'

> a = str_extract_all(astring, ptn)

> a

[[1]]

[2] "456"

似乎还有一大部分R用户,其文本处理和文本分析占其日常工作的很大一部分 – CRAN的Natural Language Processing Task View(大约20个非正式的面向领域的软件包集合之一).该任务视图是包tm,一个专用于文本挖掘功能的包.包含在tm中的是优化的功能,用于处理任务,如Q中提到的任务.

此外,R具有极佳的包装选择,可以在相当大的数据集(例如> 1 GB)上进行交互式工作,而不需要设置并行处理基础设施(但是如果可用,则可以肯定利用集群).我认为最令人印象深刻的是由迈克尔·凯恩(Michael Kane)和耶鲁大学的约翰·艾默生(John Emerson)所着的“The Bigmemory Project”(CRAN)下的套装.这个项目包括大记忆,大分析,同步,大笨重和bigalgebra.总而言之,这些软件包的技术包括:(i)将数据分配给共享内存,这使得能够通过单独的并发进程将共享访问协调到数据的单个副本; (ii)文件支持的数据结构(我相信,但我并不确定这是内存映射文件结构的同义词,并且使用指针可以实现从磁盘的快速访问,从而避免了对可用文件大小的RAM限制) .

然而,R标准库中的很多功能和数据结构使得更容易与接近普通RAM限制的数据进行交互式工作.例如,.RData,一种本机二进制格式,尽可能简单(命令是保存和加载),它具有很好的压缩性:

> library(ElemStatLearn)

> data(spam)

> format(object.size(spam), big.mark=',')

[1] "2,344,384" # a 2.34 MB data file

> save(spam, file='test.RData')

这个文件’test.RData’只有176 KB,大于10倍的压缩.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值