Download presentation

Presentation is loading. Please wait.

1
Using R with Python

2
Python commands: import rpy2.robjects as robjects r = robjects.r pi = r.pi x = r.c(1,2,3,4,5,6) y = r.seq(1,10) m = r.matrix(y, nrow=5) n = r.matrix(y, ncol=5) f = r("read.table('RandomDistribution.tsv',sep='\t')") f_matrix = r.matrix(f, ncol=7) mean_first_col = r.mean(f_matrix[0]) Equivalent R commands: > pi [1] > x = c(1,2,3,4,5) > y = seq(1,10) > m = matrix(y, nrow=5) > n = matrix(y, ncol=5) > f = read.table('RandomDistribution.tsv',sep='\t') > f_matrix = matrix(f, ncol=7) > mean_first_col = mean(f[,1])

3
**R command to get the pi constant**

[1] In Python, you can get pi by typing: >>> import rpy2.robjects as robjects >>> r = robjects.r >>> r.pi <FloatVector - Python:0x10c / R:0x7fd1da546e18> [ ]

4
**Notice that if you use the print statement, the result will look a bit different:**

>>> print r.pi [1] And, since r.pi is a vector of length 1, if you want to get its numerical value, you have to use indexing: >>> r.pi[0]

5
**Accessing an R object from Python**

>>> import rpy2.robjects as robjects >>> r = robjects.r Accessing an R object as an attribute of the r object using the dot syntax >>> r.pi Accessing an R object using the [] operator on r like you would use a dictionary >>> pi = r['pi'] Calling r like you would do with a function passing the R object as an argument. >>> pi = r('pi')

6
Creating vectors >>> print r.c(1, 2, 3, 4, 5, 6) [1] >>> print r['c'](1,2,3,4,5,6) [1] >>> c = r['c'] >>> print c(1,2,3,4,5,6) [1] >>> print r('c(1,2,3,4,5,6)') [1]

7
**How to deal with function arguments that contain a dot**

> f = read.table('RandomDistribution.tsv', sep='\t') > m = mean(f[,7], trim = 0, na.rm = FALSE) Would become in Python: >>> f = r("read.table('RandomDistribution.tsv',sep='\t')") >>> r.mean(f[3], trim = 0, na_rm = 'FALSE') <FloatVector - Python:0x106c82cb0 / R:0x7fb41f887c08> [ ]

8
**Running a Chi2 test R session:**

> h=read.table("Chi-square_input.txt",header=TRUE,sep="\t") > names(h) [1] "SAMPLE" "GENE1" "GENE2" > chisq.test(table(h$GENE1,h$GENE2)) Pearson's Chi-squared test with Yates' continuity correction data: table(h$GENE1, h$GENE2) X-squared = , df = 1, p-value = Warning message: In chisq.test(table(h$GENE1, h$GENE2)) : Chi-squared approximation may be incorrect

9
**Running a Chi2 test Corresponding Python session:**

>>> import rpy2.robjects as ro >>> r = ro.r >>>T = r("read.table('Chi-square_input.txt', header=TRUE, sep='\t')") >>> print r.names(T) [1] "SAMPLE" "GENE1" "GENE2" >>> cont_table = r.table(T[1],T[2]) >>> chitest = r['chisq.test'] >>> print chitest(T[1],T[2]) Pearson's Chi-squared test with Yates' continuity correction ... X-squared = , df = 1, p-value =

10
**Calculating mean, standard deviation, z-score and p-value of a set of numbers**

R session: > f = read.table("RandomDistribution.tsv", sep= "\t") > m = mean(f[,3], trim = 0, na.rm = FALSE) > sdev = sd(f[,3], na.rm = FALSE) > value = > z = (m -value)/sdev > p = pnorm(-abs(z)) > p [1]

11
**Calculating mean, standard deviation, z-score and p-value of a set of numbers**

Corresponding Python session: >>> import rpy2.robjects as ro >>> r = ro.r >>> f = r("read.table('RandomDistribution.tsv',sep='\t')") >>> m = r.mean(f[2], trim = 0, na_rm = 'FALSE') >>> sdev = r.sd(f[2], na_rm = 'FALSE') >>> value = >>> z = (m[0] - value)/sdev[0] >>> x = r.abs(z) >>> p = r.pnorm(-x[0]) >>> p[0]

12
**Calculating mean, standard deviation, z-score and p-value of a set of numbers**

Using a program: import rpy2.robjects as ro r = ro.r f = r("read.table('RandomDistribution.tsv',sep='\t')") m = r.mean(f[2], trim = 0, na_rm = 'FALSE') sdev = r.sd(f[2], na_rm = 'FALSE') value = z = (m[0] - value)/sdev[0] x = r.abs(z) p = r.pnorm(-x[0]) print m[0], sdev[0], z, p[0]

13
**Plot random numbers to a file**

import rpy2.robjects as ro from rpy2.robjects.packages import importr r = ro.r grdevices = importr('grDevices') grdevices.png(file="RandomPlot.png", width=512, height=512) r.plot(r.rnorm(100), ylab = "random”) grdevices.dev_off()

14
**Plot data data from a file**

import rpy2.robjects as ro from rpy2.robjects.packages import importr r = ro.r f = r("read.table('RandomDistribution.tsv',sep='\t')") grdevices = importr('grDevices') grdevices.png(file="Plot.png", width=512, height=512) r.plot(f[1],f[2], xlab = "x", ylab = "y") grdevices.dev_off() grdevices.png(file="Histogram.png", width=512, height=512) r.hist(f[4], xlab='x', main = 'Distribution of values')

Similar presentations

OK

Statistical Programming Using the R Language Lecture 2 Basic Concepts II Darren J. Fitzpatrick, Ph.D April 2016.

Statistical Programming Using the R Language Lecture 2 Basic Concepts II Darren J. Fitzpatrick, Ph.D April 2016.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on good communication skills Ppt on porter's five forces apple Ppt on electricity for class 10th exercise Ppt on number system for class 10th Ppt on statistics and probability calculator Ppt on test tube baby Download ppt on heritage of india Ppt on generation gap in india Ppt on site selection of thermal power plant Ppt on first conditional pdf