# R code for chapter 39 creating datasets and distributions in r commander and r
# Book details:
# http://www.amazon.co.uk/Health-Science-Statistics-using-Commander/dp/190790431X
#############
# creating dataframes and samples

# creating a simple dataframe:
group <- c(  "a","a","a","a","a","a","a","b","b","b","b","b","c","c","c","c","c")
var2<- c( 3,4,6,5,6,7,6, 5,1,1,2,3, 8,9,8,7,8)
test1 <-data.frame(group,var2)
str(test1)
########
# as.data.frame = convert matrix to dataframe
# 30*10000 = produce 30 x 10,000 values mean100 sd 7
# ncol = fit it into 10,000 columns
# rownames = give row names
# colnames = give column names
#
NormalSamples <- as.data.frame(matrix(rnorm(30*10000, mean=100, sd=7),   ncol=10000))
rownames(NormalSamples) <- paste("sample", 1:30, sep="")
colnames(NormalSamples) <- paste("obs", 1:10000, sep="")
str(NormalSamples)

#######
# obtaining a correlated sample
install.packages("ecodist")
library(ecodist) 
xval <- rnorm(30, mean=100, sd=7)
len <- length(xval);  r= 0.8;
yval <- corgen(len, xval, r, epsilon = 0.001)$y 
yval
xy <- corgen(len=30, r=.8, epsilon=0.01) 
xy

# obtaining a random sample from a population with a specified correlation
xysample<-corgen(len=30, r=-0.8, population=TRUE) 
xysample 
cor(data.frame(xysample))


# Stretching and shifting values
basedata1 <- rnorm(1:100)
sd(basedata1)
mean(basedata1)
sample1_stretched<- basedata1*(122/sd(basedata1))
sample1_stretched
summary(sample1_stretched)
sd(sample1_stretched)
sample1_shifted<- (sample1_stretched + 322 - mean(sample1_stretched) )
sample1_shifted
summary(sample1_shifted)
sd(sample1_shifted)

#####
# for details of how to produce 3d graph of distribution see correlation_distributions.r
#####
