####################################### # DTC Tabelle - funzioni per le colonne. # Tabella che si ottiene da tab # selezionando le colonne in ... Dtc = function (tab,...) subset(tab,select=c(...)) # Tabella che si ottiene da tab # aggiungendo altre colonne. # Ad esempio Dtc.agg(tab,a=1:9,b=81:89) # oppure Dtc.agg(tab,ab.s=ab/s) Dtc.agg = function (tab,...) cbind(tab,data.frame(...)) # Tabella che si ottiena da tab # sostituendo la colonna j con x. Dtc.sost = function (tab,j,x) {m=ncol(tab); a=matrix(x,ncol=1) tabj=data.frame(a) colnames(tabj)=colnames(tab)[j] if (j==1) cbind(tabj,Dtc.sel(tab,2:m)) else if (j==m) cbind(Dtc.sel(tab, 1:(m-1)),tabj) else cbind(Dtc.sel(tab,1:(j-1)),tabj, Dtc.sel(tab,(j+1):m))} # Tabella che si ottiene da tab # togliendo le colonne in ... Dtc.togli = function (tab,...) {a=c(...) if (is.character(a)) subset(tab,select=-match(a,colnames(tab))) else subset(tab,select=-a)}