Copiare i comandi che seguono nella Console di R

(versione del 12/10/2007)


Scaricare lo script o fare copia e incolla di quanto segue.

Scaricare lo dati1.rda.

Scaricare lo mini.rda.

load("dati1.rda")

dati
rownames(dati) <- LETTERS[1:20]
dati
dati1 <- dati[sample(1:20),]
dati1

dati1$K <- 1/dati1$W
dati1$W <- NULL

merge(dati,dati1)
dati1$K

dati1[15:20,1:3] <- NA

dati[1:5, 3:4] <- NA

dati

merge(dati, dati1)
merge(dati, dati1, all=TRUE)
merge(dati, dati1, by="row.names")

colnames(dati1) <- c("V1", "V2", "V3", "V4")
y <- merge(dati, dati1, by="row.names")
y
z <- na.omit(y)
z
 
#load("allpisa.rda") 
#nall <- c("father", "mother", "tech", "G7", "earning","rmath")
#npisa <- c("father", "mother", "tech", "G7", "edu", "rmath")

#pisa <- na.omit(pisa[,npisa])
#n <- dim(pisa)[1]
#pisa <- pisa[sample(1:n,1000),]
#save(pisa, all, file="small.rda")
#pisa$rmath <- cut(pisa$rmath, br=seq(0,1,length=11))
#all <- na.omit(all[,nall]) 
#all$rmath <- cut(all$rmath, br=seq(0,1,length=11))
#save(pisa, all, file="mini.rda")

load("mini.rda")

x <- merge(pisa,all, by="G7")
str(x)


x[1:4,]

pisa[pisa$G7=="31",]
all[all$G7=="31",]


summary(lm(earning ~ father.x + mother.x +tech.x, data=x))
summary(lm(earning ~ father + mother +tech, data=all))

y <- merge(pisa,all)
str(y)
summary(lm(earning ~ father + mother +tech, data=pisa))
summary(lm(earning ~ father + mother +tech, data=all))
summary(lm(earning ~ father + mother +tech, data=y))



# ESERCIZIO
# load("dati1.rda")
#
# dati
#
# set.seed(123)
# 
# n <- dim(dati)[1]
# rownames(dati) <- LETTERS[1:20]
# 
# idx <- sample(1:n, 100, replace=TRUE)
# dati1 <- dati[idx,]
# dim(dati1)
# n1 <- dim(dati1)[1]
# rownames(dati1) <- 1:n1
# rownames(dati1)[sample(1:100, 20)] <- LETTERS[1:20]
# dati1$label1 <- rownames(dati1)
# names(dati1) <- c("A1","B1", "C1", "D1", "label1")
#
# idx <- sample(1:n, 100, replace=TRUE)
# dati2 <- dati[idx,]
# dim(dati2)
# n2 <- dim(dati2)[1]
# rownames(dati2) <- 1:n2
# rownames(dati2)[sample(1:100, 20)] <- LETTERS[1:20]
# dati2$label2 <- rownames(dati2)
# names(dati1) <- c("A2","B2", "C2", "D2", "label2")
#
# dati$label <- rownames(dati)
# names(dati1) <- c("A","B", "C", "D", "label")
#
# save(dati, dati1, dati2, file="merge.rda")

rm(list=ls())
load("merge.rda")

# usare le funzioni
# match, intersect, %in% e apply per estrarre le osservazioni dai
# due data set dati1 e dati2 aventi le label di riga comuni, ovvero
# LETTERS[1:20]. Allineare dati, dati1 e dati2 sulla base della
# label di riga e verificare che i campi label, label1 e label2
# siano allineati

# vedere help della funzione match