By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
SmartData Collective
  • Analytics
    AnalyticsShow More
    predictive analytics in dropshipping
    Predictive Analytics Helps New Dropshipping Businesses Thrive
    12 Min Read
    data-driven approach in healthcare
    The Importance of Data-Driven Approaches to Improving Healthcare in Rural Areas
    6 Min Read
    analytics for tax compliance
    Analytics Changes the Calculus of Business Tax Compliance
    8 Min Read
    big data analytics in gaming
    The Role of Big Data Analytics in Gaming
    10 Min Read
    analyst,women,looking,at,kpi,data,on,computer,screen
    Promising Benefits of Predictive Analytics in Asset Management
    11 Min Read
  • Big Data
  • BI
  • Exclusive
  • IT
  • Marketing
  • Software
Search
© 2008-23 SmartData Collective. All Rights Reserved.
Reading: Vector Computing, Who Is More Powerful, R Language or esProc?
Share
Notification Show More
Latest News
ai digital marketing tools
Top Five AI-Driven Digital Marketing Tools in 2023
Artificial Intelligence
ai-generated content
Is AI-Generated Content a Net Positive for Businesses?
Artificial Intelligence
predictive analytics in dropshipping
Predictive Analytics Helps New Dropshipping Businesses Thrive
Predictive Analytics
cloud data security in 2023
Top Tools for Your Cloud Data Security Stack in 2023
Cloud Computing
become a data scientist
Boosting Your Chances for Landing a Job as a Data Scientist
Jobs
Aa
SmartData Collective
Aa
Search
  • About
  • Help
  • Privacy
Follow US
© 2008-23 SmartData Collective. All Rights Reserved.
SmartData Collective > R Programming Language > Vector Computing, Who Is More Powerful, R Language or esProc?
R Programming Language

Vector Computing, Who Is More Powerful, R Language or esProc?

raqsoft
Last updated: 2012/11/27 at 1:45 PM
raqsoft
6 Min Read
SHARE

Do you find Vector Computing tiresome while using statistical computing tools? Here we go for a Vector Computing Comparison: R Language vs. esProc. To me, one of the most attractive features of R language and esProc is that their codes are both agile, that is, only requiring a few lines of codes to implement plentiful functions.

Do you find Vector Computing tiresome while using statistical computing tools? Here we go for a Vector Computing Comparison: R Language vs. esProc. To me, one of the most attractive features of R language and esProc is that their codes are both agile, that is, only requiring a few lines of codes to implement plentiful functions. For example, both of them allow for composing Vector Computing expression, simplify the judgment statements, extend the basic functions to the advanced ones, and support the generic type. In which, regarding the vector computing, they are characterized with the massive data processing through functions and operators, so as to avoid the loop statement. Users can benefit from 2 resulting advantages: first, easy to grasp for business experts and keep the learning cost low; second, easy to implement the parallel computation and improve the performance.

In order to show users the subtle differences between R and esProc on vector computing, we will go on with several examples below.

Firstly, let’s check the most basic functions like vector value getting and assigning. For example, get 5 values of vectors whose subscripts are from 5 to 10, and replace them with another 5 values.

More Read

esProc Improves Text Processing: Fetching Data from a Batch of Files

Using esProc to Compute the Online Time of Users [PART 2]
Simple Inter-row Computation: esProc Keeps It Simple!

R solution:
01    A1<-c(51,52,53,54,55,56,57,58,59,60)
02    A2<-A1[6:10]
03    A1[6:10]<-seq(1,5)

esProc solution:
A1    =[51,52,53,54,55,56,57,58,59,60]
A2    =A1(to(6,10))
A3    >A1(to(6,10))=to(1,5)

Comments: Both of them enable users to get and assign values easily with almost the same usage. However, subjectively, I prefer using the “:” of R language to represent the interval ranges. It looks more intuitive and agile.

Then, let’s compare them on the arithmetical operations of vector.

R solution:
04    A4<-c(1,2,3)
05    A5<-c(2,4,6)
06    A4*A5 # multiplying the vector, and the result is: [1] 2 8 18
07    A4+2    #adding the vector to the constant, and the result is: [1] 3 4 5
08    ifelse(A4>1,A4+2,A4-2) #conditional evaluate, and the result is: [1] -1 4 5
09    sum(A4)    #aggregate, sum up the vector member, and the result is:6
10    sort(A4,decreasing = TRUE)    #sort reversely, and the result is: 3 2 1

esProc solution:
A4    =[1,2,3]
A5    =[2,4,6]
A6    =A4**A5    ‘multiplying the vector, and the result is: 2 4 18
A7    =A4.(~+2)    ‘adding the vector to the constant, and the result is:3 4 5
A8    =A4.(if(~>1,~+2,~-2))    ‘conditional evaluate, and the result is:-1 4 5
A9    =A4.sum()    ‘aggregating, vector member sum up, and the result is:6
A10    =A4.sort(~:-1)    ‘reverse sorting, and the result is:3 2 1

Comments: As can be seen from the above, no matter the four arithmetic operations, aggregating, or sorting operations of vector, both R and esProc can implement it well, and their syntaxes are very close. One thing worthy of notice is that the code of esProc looks more “object-oriented”, while R is truly “object-oriented” judging from the bottom layer. The former is more suitable for direct use by business experts by themselves and popular with those from the common business sector, and the latter is more suitable for programmers to compile the extended package by themselves and more acceptable to those from the scientific expertise sector.

Let us check the vector computing on the structured data, such as computations based on the Orders table from the Northwind database:
Query the data with freightage from 200 to 300.
Query the order dated 1997.
Compute the intersection set of above-mentioned sets, i.e. data not only with freightage from 200 to 300 but also with orders placed in 1997.
Group the result from the previous step by EmployeeID, and average the freightage for each employee.

R solution:
02    A2<-result[result$Freight>=200 & result$Freight<=300,]
03    A304    A4<-result[result$Freight>=200 & result$Freight<=300 & format(result$OrderDate,’%Y’)==”1997″,]
05    A5<-tapply(A2$Freight,INDEX=A2$EmployeeID,FUN=mean)

esProc solution:
A2    =A1.select(Freight>=200 && Freight<=300 && year(OrderDate)==1997)
A3    =A1.select(year(OrderDate)==1997)
A4    =A3^A4
A5    =A4.group(EmployeeID;~.avg(Freight))

Comments: R is good at querying and make statistics in groups. However, as for the set operations, R is worse than esProc. In the above example of R, the result is obtained by an indirect means of query instead of any set operations.

R can only perform the set operations on simple vectors, for example, intersect(A2$Orderid,A3$Orderid), and cannot directly implement the set operation on the structured data like data.frame.

Of course, this is not to say that the R is not powerful in vector computing. In effect, R is easier to use than esProc in the aspect of matrix-related computation. For example, to seek the eigenvalue of matrix A, R users can simply use eigen(A), while esProc users are not provided with any functions for them to represent it directly. Judging from this aspect, it proves that esProc is more suitable for business computing, while R is better in handling the scientific computation.

In conclusion, considering the vector computing, both R and esProc demonstrate perfect performance in the basic computing. More specifically speaking, R is second to none in matrix computation, and esProc (download) beats R in handling the structured data.

TAGGED: esProc, vector
raqsoft November 27, 2012
Share this Article
Facebook Twitter Pinterest LinkedIn
Share

Follow us on Facebook

Latest News

ai digital marketing tools
Top Five AI-Driven Digital Marketing Tools in 2023
Artificial Intelligence
ai-generated content
Is AI-Generated Content a Net Positive for Businesses?
Artificial Intelligence
predictive analytics in dropshipping
Predictive Analytics Helps New Dropshipping Businesses Thrive
Predictive Analytics
cloud data security in 2023
Top Tools for Your Cloud Data Security Stack in 2023
Cloud Computing

Stay Connected

1.2k Followers Like
33.7k Followers Follow
222 Followers Pin

Sign Up for Our Newsletter

Subscribe to our newsletter to get our newest articles instantly!

[mc4wp_form id=”1616″]

You Might also Like

esProc Improves Text Processing: Fetching Data from a Batch of Files

6 Min Read

Using esProc to Compute the Online Time of Users [PART 2]

5 Min Read

Simple Inter-row Computation: esProc Keeps It Simple!

7 Min Read

SmartData Collective is one of the largest & trusted community covering technical content about Big Data, BI, Cloud, Analytics, Artificial Intelligence, IoT & more.

ai is improving the safety of cars
From Bolts to Bots: How AI Is Fortifying the Automotive Industry
Artificial Intelligence
AI and chatbots
Chatbots and SEO: How Can Chatbots Improve Your SEO Ranking?
Artificial Intelligence Chatbots Exclusive

Quick Link

  • About
  • Contact
  • Privacy
Follow US

© 2008-23 SmartData Collective. All Rights Reserved.

Removed from reading list

Undo
Go to mobile version
Welcome Back!

Sign in to your account

Lost your password?