creating a factor
Simon Hosking <simon.hosking at general.monash.edu.au> writes:
Hi list, I'd like to make a factor with seven 1s and three 2s using the factor() function. That is, 1 1 1 1 1 1 1 2 2 2 I will then bind this factor to the matrix below using cbind.data.frame(). 0.56 0.48 0.22 0.59 0.32 0.64 0.26 0.60 0.25 0.38 0.24 0.45 0.56 0.67 0.78 0.97 0.87 0.79 0.82 0.85 I am new to R and have been using various manuals and have made many attempts without success any help appreciated. thanks, Simon
f <- factor(scan())
1: 1 2: 1 3: 1 4: 1 5: 1 6: 1 7: 1 8: 2 9: 2 10: 2 11: Read 10 items
df <- read.table(stdin())
0: 0.56 0.48 1: 0.22 0.59 2: 0.32 0.64 3: 0.26 0.60 4: 0.25 0.38 6: 0.24 0.45 7: 0.56 0.67 8: 0.78 0.97 9: 0.87 0.79 10: 0.82 0.85 11:
cbind(df,f)
V1 V2 f 1 0.56 0.48 1 2 0.22 0.59 1 3 0.32 0.64 1 4 0.26 0.60 1 5 0.25 0.38 1 6 0.24 0.45 1 7 0.56 0.67 1 8 0.78 0.97 2 9 0.87 0.79 2 10 0.82 0.85 2
summary(cbind(df,f))
V1 V2 f Min. :0.2200 Min. :0.3800 1:7 1st Qu.:0.2525 1st Qu.:0.5075 2:3 Median :0.4400 Median :0.6200 Mean :0.4880 Mean :0.6420 3rd Qu.:0.7250 3rd Qu.:0.7600 Max. :0.8700 Max. :0.9700 so what was the problem?? I suspect your df was a matrix, not a data frame: just take as.data.frame first. Otherwise, you'll find that f gets converted to numeric.
O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907