User Tools

Site Tools


Sidebar

Top
Seminar
Courses
Textbooks
Documents
Downloads (-2016)
Downloads (2016-)
Weblog
RSS aggregates
Discussions
Archives


EMBL BioImage Data Analysis

EuBIAS

NEUBIAS

—- Contact
CMCI Alumni
ALMF
EMBL Heidelberg
EMBL Intranet


Popularity Ranking


Timeline of @cmci_

cmci_ avatar

Anna getting ready for her talk @NEUBIAS_COST workshop starting in 3 min. https://t.co/Dl9ZI0NKDs
About 7 hours, 21 mins ago by: Kota Miura (@cmci_)

cmci_ avatar

RT @MIAP_Freiburg: @MIAP_Freiburg @UniFreiburg will host another basic Fiji @FijiSc/#ImageJ workshop on November 14th-15th 2018 with Kota M…
About 7 hours, 22 mins ago by: Kota Miura (@cmci_)

cmci_ avatar

RT @haesleinhuepf: Let's measure with @laure_plantard and #ImageJ at #NEUBIAS #TS8 🤘 https://t.co/oVpyDWP3HT
About 1 day, 1 hour ago by: Kota Miura (@cmci_)

cmci_ avatar

RT @haesleinhuepf: Tracking cells on steroids: @jytinevez introducing #Mamut just next door #NEUBIAS #TS9 https://t.co/cKYq55i2JU
About 1 day, 1 hour ago by: Kota Miura (@cmci_)

cmci_ avatar

RT @haesleinhuepf: Anna Klemm from @scilifelab lifting us to the next level: tracking objects #NEUBIAS #TS8 https://t.co/FSkyLXilAO
About 1 day, 1 hour ago by: Kota Miura (@cmci_)

cmci_ avatar

RT @dn_mason: Check out our latest @biorxivpreprint (/w @Rosalierrr @ViolaineSee, @raphavisses & Rachel Bearon)! A workflow for imaging, tr…
About 1 day, 4 hours ago by: Kota Miura (@cmci_)
documents:111012rtricks

R Tricks

removing trailing zeros from a vector

When you import data from the out put of other software, you might have trailing 0s at the end of each column:

> d0
 [1] 69.444 70.889 86.667 95.667 83.444 78.333 67.889
 [8] 56.000 49.222 40.333 37.889 31.889 30.333 26.667
[15] 22.444 23.111 20.889 22.000 20.111 19.778 20.778
[22] 19.667 17.333 19.333 19.000 16.333 14.444 13.889
[29] 18.000 21.778 23.556 23.889 28.778 40.000 48.667
[36] 55.889 66.667 78.889 72.222 84.778 68.778 69.444
[43]  0.000  0.000  0.000  0.000  0.000  0.000  0.000
[50]  0.000  0.000  0.000  0.000  0.000  0.000  0.000
[57]  0.000  0.000  0.000  0.000  0.000  0.000  0.000
[64]  0.000  0.000  0.000  0.000

To remove them, there could be many ways, but here is my one liner.

d0c <- d0[rev(cumsum(rev(d0)))>0]

Then the output is

> d0c
 [1] 69.444 70.889 86.667 95.667 83.444 78.333 67.889
 [8] 56.000 49.222 40.333 37.889 31.889 30.333 26.667
[15] 22.444 23.111 20.889 22.000 20.111 19.778 20.778
[22] 19.667 17.333 19.333 19.000 16.333 14.444 13.889
[29] 18.000 21.778 23.556 23.889 28.778 40.000 48.667
[36] 55.889 66.667 78.889 72.222 84.778 68.778 69.444

Plotting a matrix data as a color-coded image

#a 2Dplot, color coded. 
x <- c(1:20)
y <- c(1:10)
for(j in y){
  for(i in x){
    val <- i+j
    if((i == 0) & (j == 0)) z <- val    
    elsez <- append(z, val)
  }
}

z <- matrix(z, nrow=20, ncol=10)
mat <- list(x, y, z)
image(x, y, z)

Example plotting of a matrix using base graphics function image()

… a bit faster way calculation wise uses indexing.

width <- 10
height <- 20
x <- c(1:width)
y <- c(1:height)
xindex <-rep(x, length = width*height)
yindex <- yindexing(x, y)

z <- xindex + yindex

z <- matrix(z, nrow=width, ncol=height)
mat <- list(x, y, z)
image(x, y, z)

yindexing <- function (x, y) {
  for(i in y){
    cr <- rep(i, length=length(x))
    if (i==1) all <- cr
    else all <- append(all, cr)
  }
  return (all)
}

Inserting math formula & symbols in label or title

The easiest way is to use function expression(). For example,

plot(back$V2, type='l', xlab=expression(slice %.% time), ylab='intensity', xaxt="n", yaxt="n")

Inserts vertically centered dot in the x label between “slice” and “time”. You could check other available expressions by

?plotmath

More recent, but under development is using tikzDevice.

Variable Name to String

myfunc <- function(v1) {
  deparse(substitute(v1))
}

myfunc(foo)
[1] "foo"
documents/111012rtricks.txt · Last modified: 2016/05/24 05:46 (external edit)