## 15 Dec 2011

### Conversion of Several Variables to Factors

..often needed when preparing data for analysis (and usually forgotten until I need it for the next time).
With the below code I convert a set of variables to factors - it could be that there are slicker ways to do it (if you know one let me know!)

```> dat <- data.frame(matrix(sample(1:40), 4, 10, dimnames = list(1:4, LETTERS[1:10])))
> str(dat)
'data.frame':   4 obs. of  10 variables:
\$ A: int  5 34 3 15
\$ B: int  28 25 17 24
\$ C: int  2 12 10 32
\$ D: int  16 27 29 14
\$ E: int  40 7 4 31
\$ F: int  22 30 6 18
\$ G: int  33 36 35 38
\$ H: int  19 21 37 8
\$ I: int  20 11 9 26
\$ J: int  39 13 1 23
>
> id <- which(names(dat)%in%c("A", "F", "I"))
> dat[, id] <- lapply(dat[, id], as.factor)
> str(dat[, id])
'data.frame':   4 obs. of  3 variables:
\$ A: Factor w/ 4 levels "3","5","15","34": 2 4 1 3
\$ F: Factor w/ 4 levels "6","18","22",..: 3 4 1 2
\$ I: Factor w/ 4 levels "9","11","20",..: 3 2 1 4
```

#### 1 comment :

1. Great Tip! thank you so much!