Posts

Today I wanted to see if I could create a slideshow of pictures from the gganatogram package. I wanted to combine them with the gganimate package, but I have not figured out how to get that to work. (In particular, the gganatogram() function seems to return a different list layout than ggplot objects.) library(gganatogram) ## Loading required package: ggpolypath ## Loading required package: ggplot2 library(gganimate) library(profvis) N <- 25 # number of cell samples num_cell_parts <- nrow(cell_key$cell) # randomly select a random number of cell parts part_picker <- sample(1:num_cell_parts, sample(1:num_cell_parts, 1)) cell_num <- rep(1, length(part_picker)) this_cell <- cell_key[['cell']][part_picker, ] cell_samples <- cbind(this_cell, cell_num) for(j in 2:N){ part_picker <- sample(1:num_cell_parts, sample(1:num_cell_parts, 1)) cell_num <- rep(j, length(part_picker)) this_cell <- cbind( cell_key[['cell']][part_picker, ], cell_num) cell_samples <- rbind(cell_samples, this_cell) # figure_list[j] <- gganatogram(data = this_cell, # outline = FALSE, fillOutline='steelblue', organism="cell", fill="colour") + # theme_void() + # coord_fixed() png(filename = paste0(j, ".

CONTINUE READING

Today, I hope to present a quick glimpse at the phenomenon called the “Curse of Dimensionality”. For this demonstration, I am simply calculating how much random data stays within two standard deviations (in the Euclidean norm) as we go from one dimension to higher dimensions. Random Data Here are 10 vectors of 100 random numbers each sampled from the standard normal distribution stored as a matrix … X <- matrix(rnorm(1000), nrow = 100, ncol = 10) … and as a data frame.

CONTINUE READING

In this post, I want to run an example of absorbing states in stochastic processes. This example is based on Example 3.29 in Introduction to Stochastic Processes in R by Robert Dobrow. Data The data I have assembled is based on IRDS reports from my own University of California at Merced. # weights weights <- c(20, 70, 0, 0, 10, 0, 0, 5, 89, 0, 6, 0, 0, 0, 3, 94, 3, 0, 0, 0, 0, 24, 1, 76, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 100) sparse_weights <- weights[weights > 0] # transition matrix (row stochastic) P <- matrix(weights, nrow = 6, byrow = TRUE)*0.

CONTINUE READING

Today I finally read a tutorial on gganimate, and here I will build my first example. My hope is to eventually simulate traversal on a directed graph. library(tidyverse) library(gganimate) Create Node Data For this example, I will have 3 nodes (located at 3 vertices of a triangle), 100 dots distributed among the nodes, and a new placement over 21 states in time. N <- 100 # number of dots T <- 20 # number of iterations node_names <- c("Node 1", "Node 2", "Node 3") iter <- rep(0, N) node <- rep("Node 1", N) x <- 10 + rnorm(N, 0, 2) y <- 20 + rnorm(N, 0, 2) states <- data.

CONTINUE READING

CONTINUE READING

Introduction Following up on Rachel Wellford’s tweet about Senate votes for Supreme Court confirmations, I decided to try to graph the data. Below, I have a ggplot picture with decent labeling a searchable datatable a plotly interactive graph The data came from Senate.gov. I chose to focus on 1967 onward because it appeared that voting procedures were slightly different before Thurgood Marshall’s nomination process.

CONTINUE READING

Problem The question that one of my teaching assistants posed was “What is the difference between lm(y ~ x) and lm(y ~ (poly,1)) for linear regression in R?” That is, it is quickly apparent that those commands produce different results, but for the same intention. Here I will try to explore the underlying difference. Disclaimer: I know that the following discussion is incomplete. These are simply notes that I threw together overnight.

CONTINUE READING

Thanks to Dr. Elaine McVey’s course at DataCamp, I feel that I can convert my Data Science course’s lab assignments and slides to flexdashboard. Today, I converted the first lab assignment. The hope is that the students can clearly see the instructions that I am trying to convey rather than facing a wall of text. To convert my lab, which was previously in an R Markdown document for HTML output, I had to

CONTINUE READING

Thanks to Dr. Elaine McVey’s course at DataCamp, I feel that I can convert my Data Science course’s lab assignments and slides to flexdashboard. Today, I converted the first lab assignment. The hope is that the students can clearly see the instructions that I am trying to convey rather than facing a wall of text. To convert my lab, which was previously in an R Markdown document for HTML output, I had to

CONTINUE READING

As a lecturer at UC Merced, each semester I find myself needing to figure out how many days I get to teach. Furthermore, I like to plan out my lecture schedule down to the days themselves. Here I hope to use some R code to quickly figure out (say) which days are on Tuesday or Thursday. Construction In R, the seq command can be used with dates easily. semester_dates <- seq(as.

CONTINUE READING