Categories

## Efron-1979

This week’s  discussion paper for the PhD Seminar Series in Statistics is

In order to have more fun in the reading, we are aiming to complete  the two tasks before Sunday, Dec 22 .

• Post at least one question here you found during the reading.
• Give comments to at least one question that other people asked.

Categories

## Source a bunch of files under given folders and/or subfolders

I wrote a function sourceDir() that can source all the functions under given folders and/or subfolders. This function is very much like “Set Path” in Matlab.Please visit this page to obtain the update to dated version.

To use it more efficiently, I suggest you put the function at some place, e.g. ~/workspace/R_utils/sourceDir.R, and write the following lines in .Rprofile file.

.my.env <- new.env()
sys.source("~/workspace/R_utils/sourceDir.R", envir=.my.env)
attach(.my.env)

Next time the function will be automatically loaded under a personal environment .my.env when R is launched and you can use it directly. The advantage of this is that rm(list=ls()) command will not remove the function sourceDir. But if you really want to remove sourceDir function, you can use rm(list=ls(all=TRUE)) command instead.

Categories

## How to prevent dropping dimensions in a matrix/array?

When you create a matrix in the usual way like this,

> a <- matrix(rnorm(10),2,5)
> a
[,1]      [,2]       [,3]       [,4]       [,5]
[1,]  1.3488918 0.6225795 -0.7444514  1.3130491  1.7877849
[2,] -0.2385392 0.5656759  0.9037435 -0.2217444 -0.2656875

the dimension dropped after picking up a single row or column in this way,

> b <- a[,1]
> b
[1]  1.3488918 -0.2385392
> dim(b)
NULL

The solution is to try it with a parameter drop = FALSE,

> b <- a[,1,drop = FALSE]
> b
[,1]
[1,]  1.3488918
[2,] -0.2385392
> dim(b)
[1] 2 1