1
|
1c
funkcia = function(n){
a=NULL
b=NULL
c=0
d=0
for (i in 1:n) {
if(i%%3== 0){
c=c+1
a[c]=i
} else if(i%%5==0){
d=d+1
b[d]=i
}
}
print(a)
print(b)
}
|
 |
|
2
|
2c,
getwd()
dir.create("Zapocet1")
setwd("Zapocet1")
library(jsonlite)*** vytvor json
data_json = fromJSON(" odkaz nacitaj data
names(data_json$name)***vypis mena
mtcars_json <- toJSON(mtcars,pretty = TRUE) **premenuj daata
write(mtcars_json, file = "./mtcars_json.JSON") uloz data do suboru
|
 |
|
3
|
3c
library(data.table)
set.seed(15)
tabulka = data.table(A=1:15,B=rep(c("c","d","e"),each = 5), C=rnorm(15),D=15:1)
tabulka$D[c(7,12,14)] = NA
summary(tabulka)
sum(is.na(tabulka$D))
all(tabulka$C>0)
tabulka[,mean(C)]
sort(tabulka$A)
tabulka[,E:=sum(A,rep(factor(b)))]
tabulka[,F:=c^2]
|
 |
|
4
|
library(data.table) *** vytvor tabulku
set.seed(15) ** nastav hodnotu na 15
tabulka = data.table(A=1:15,B=rep(c("c","d","e"),each = 5), C=rnorm(15),D=15:1) **definovanie hodnoty
tabulka$D[c(7,12,14)] = NA ** pridanie praydneho stlpca na hodnotu
summary(tabulka) **sumar praydneho stlpca
sum(is.na(tabulka$D))
all(tabulka$C>0) hodnoty v c stlpci vacie ako 0
tabulka[,mean(C)] priemer c stlpca
sort(tabulka$A) usporiadajte stlpec a
tabulka[,E:=sum(A,rep(factor(b)))] pridajte stlpec e ktorz bude obsahovat sum stlpca a podla faktoru b
tabulka[,F:=c^2] f stlpce ktorz bude mat hodnotz c umocnene na druhu
|
 |
|
5
|
4c
library(datasets) **
data("quakes")
hist(quakes$lot,quakes$log, col = "Blue", main = "lot")
hist(quakes$lot,quakes$depth, col = "Red", main = "lot")
library(ggplot2) vzkreslovanie grafu pomocou ggplot2
qplot(long, depth, data = quakes, col = mag) pomocne premene long a dpeth podla premennej mag
|
 |
|
6
|
1b
f = seq(0,100,by = 5)
for (i in 1:21) {
if(f[i] < 50)
{f[i] = f[i] + 1}
print(f[i])
}
for (i in 1:21) {
if (f[i] == 50)
{f[i] = 50/0}
print(f[i])
}
for (i in 1:21) {
if(f[i] >= 50)
{f[i] = f[i] - 1}
print(f[i])
}
|
 |
|
7
|
2b:
fileUrl = " odkaz ***
doc = xmlTreeParse(fileUrl,useInternal=TRUE)
root = xmlRoot(doc)
xmlName(root)
root[[2]]
xpathSApply(root,"//price",xmlValue)
|
 |
|
8
|
3c
fileUrl = " odkaz
doc = xmlTreeParse(fileUrl,useInternal=TRUE)
root = xmlRoot(doc)
xmlName(root)
root[[2]]
xpathSApply(root,"//price",xmlValue)
3b
set.seed(20)
tabulka = data.frame(a=rep(c("a","b"),each=10),b = rnorm(20),c = seq(1, 100,by = 5), d = 1:20)
lapply = (tabulka$d,quantile,probs = seq(0,0.48,0.56))) kvatilz pre stlpec d
colSums(tabulka, tabulka$b,tabulka$c,tabulka$d)
quantile(tabulka$d,c(0,0.48,0.56))
colSums(tabulka[,2:4]) suma 2 az 4 stlpec
tabulka[,mean(c)]
any(is.na(tabulka$c))
sort(tabulka$b)
tabulka[,E:=b^2] druha mocnina
|
 |
|
9
|
3c
3c A=1:15,B=rep(c("c","d","e"),each = 5), C=rnorm(15),D=15:1) od jedna po 15, prvzch 5 riadkov ovsahuje hodnotu c, dalsich 5 riadkov hodnotou d a yvzsnzch 5 hodnoru e, dalej vytvorte stlpec c 15 hodnotami normaloveho roydelenia a stlpec d s hodnotami od 15 po 1
|
 |
|
10
|
4b
library(datasets)
par(mfrow = c(2, 1), mar = c(4, 4, 2, 1))
hist(CO2$conc, col = "Green", main = "Conc", breaks = 4)
hist(CO2$uptake, col = "Blue",,breaks = 40, xlab = "up", ylab = "take", main = "Uptake")
legend(x="topright", legend = levels(CO2$uptake))
library(ggplot2)
qplot(uptake, age, data = CO2, col = Type)
|
 |
|
11
|
prv
#ul1
funkcia <- function(n){
for(i in 1:n){
if(i %% 2 == 0) print(i^2)
else if((i %% 3 == 0) && (i %% 5 == 0)) print(i^3)
}
}
#ul2
getwd()
dir.create("data\\Zapocet1")
setwd("C:/Users/Documents/data/Zapocet1")
dir.create("data")
fileURL = " odkaz
download.file(fileURL, destfile = "./SalesJan2009.csv")
data = read.csv("./SalesJan2009.csv")
head(data, n = 10)
tail(data, n = 15)
data[1:5,2:3]
#ul3
set.seed(10)
tabulka = data.table(A=rnorm(10),B=1:10,C=10:1,D=rep(factor(c("a","b")),each = 5))
#tabulka[[1]][2] = NA
#tabulka[[1]][4] = NA
tabulka[,mean(A)]
tabulka[,e:=b^2]
tabulka[,f:=sum(b),by=d]
#sort(tabulka$c)
#tabulka[order(tabulka$c),]
#ul4
library(datasets)
attach(infert)
boxplot(age ~ education, infert, col = "red", xlab = "Age", ylab = "Education", main = "infert")
abline(h = 30, lwd = 3, lty = 2, col = "blue")
library(lattice)
xyplot(stratum ~ age | education, data = infert)
|
 |
|
12
|
UNKCIE
FOR
f = seq(1,100, by = 2)
a = NULL
for (i in 1:50)
{
a[i] = f[i]^2
}
print(a)
*************************************
FOR NEXT
for(i in 1:100)
{
if(i <= 20)
{
next
}
print(i)
}
******************************
FUNCTION1
f <- function(x, y = 2) {
x^y
}
***************************
FUNCTION2
f2 <- function(x) {
x^2
}
***************************
FUNCTION3
f <- function(x,y)
{
x + y
x - y
x * y
x / y
}
***************************
FUNCTION TEST
f <- function(x) {
g <- function(y) {
y + z
}
z <- 4
x + g(x)
}
z <- 10
***************************
IF ELSE
x <- 0
if (x > 0) {
print("Kladné číslo")
} else if (x < 0) {
print("Záporné číslo")
} else
print("Nula")
*****************************
LAZY
f <- function(a,b)
{
a^2
# 5^2
# a^b
}
f(2)
*****************************
REPEAT
sum <- 1
repeat
{
sum <- sum + 2
print(sum)
if (sum > 11)
break
}
*************************
SCOP
p = 0
f = function(x){
p = 10
p + g(x)
}
g = function(x){
x+p
}
*************************
SCOPING
f <- function(x)
{
# y <- 5
x + y
}
|
 |
|
13
|
taabulky
iris <- iris
head(iris,5)
tail(iris,6)
summary(iris) # sumár info o každom atribúte (stlpci)
str(iris) # datailný pohľad na atribúty
quantile(iris$Sepal.Length) # kvantily pre numerické atribúty, rovnaké ako v summary, je však možné nastaviť vlastné rozdelenie
quantile(iris$Sepal.Length,c(0,0.5,1)) # kvantily iba pre 0,50 a 100%
table(iris$Sepal.Length) # štatistika početnosti rôzných hodnôt atribútu
table(iris$Sepal.Length,iris$Sepal.Width) # môžeme zadať aj viac premenných
rowSums(iris[,1:2]) # súčet riadkov prvých 2 stlpcov
colSums(iris[,1:2]) # súčet prvých 2 stlpcov
sum(is.na(iris$Sepal.Length)) # počet prázdnych hodnôt stlpca
any(is.na(iris$Sepal.Length)) # T alebo F, podľa toho, či sú v stlpci prázdne hodnoty
all(iris$Sepal.Length > 0) # testovanie, či sú všetky hodnoty v stlpci väčšie ako 0
colSums(is.na(iris)) # počet prázdnych hodnôt v každom stlpci
all(colSums(is.na(iris))==0) # T alebo F o tom, či sú všetky počty NA hodnôt 0
table(iris$Sepal.Length %in% c(5.1,5.0)) # výber počtu hodnôt vybraného stlpca
table(iris$Species %in% c("setosa","viginica"))
table(iris$Species %in% c("setosa"))
iris[iris$Species %in% c("setosa"),] # výpis dát len s hodnotou v stlpci Species = setosa
data(UCBAdmissions)
DF = as.data.frame(UCBAdmissions) # vytvorenie dataframe
summary(DF) # súhrn dataframe
xt <- xtabs(Freq ~ Gender + Admit,data=DF) # vytvorenie kontingenčnej tabuľky
xt2 <- xtabs(Freq ~.,DF) # vytvorenie viacrozmernej kontingenčnej tabulky (flat tabulka)
summary(xtabs(Freq ~.,DF)) # sumár nad celou tabuľkou
ftable(xt) # flat tabuľka
|
 |
|
14
|
grafy
PLOTTING SYSTEMS
# Base plot
library(datasets)
data(cars)
with(cars, plot(speed, dist)) # scatterplot z dát cars, pre speed a dist
# Lattice Plot
library(lattice)
state <- data.frame(state.x77, region = state.region) # vytvorenie data.frame s hodnotami state.x77 a state.region
# xy plot so stlpcami Life.Exp a Income, rozdelenie dát podľa regionu, pre data state a rozmiestnením 4 grafy v 1 riadku
xyplot(Life.Exp ~ Income | region, data = state, layout = c(4, 1))
# Ggplot2
library(ggplot2)
data(mpg) # načítanie dát mpg
qplot(displ, hwy, data = mpg) # vytvorenie qplot z atribútov displ, hwy z dát mpg
pdf(file = "myplot.pdf")
xyplot(Life.Exp ~ Income | region, data = state, layout = c(4, 1))
dev.off()
BASE PLOTTING SYSTEM
library(datasets)
hist(airquality$Ozone)
with(airquality, plot(Wind, Ozone))
airquality <- transform(airquality, Month = factor(Month)) # transformácia stlpca Month v dátach airquality na faktor
boxplot(Ozone ~ Month, airquality, xlab = "Month", ylab = "Ozone (ppb)") # vytvorenie boxplotu pre stlpce Ozone, Month a označenie osí x,y
# default values
par("lty")
par("col")
par("pch")
par("bg")
par("mar")
par("mfrow")
with(airquality, plot(Wind, Ozone))
title(main = "Ozone and Wind in New York City")
# vytvorenie grafu z dát airquality, pre stlpce Wind, Ozone, s nadpisom (main) a typom "n" (bez bodov)
with(airquality, plot(Wind, Ozone, main = "Ozone and Wind in New York City ", type = "n"))
with(subset(airquality, Month == 5), points(Wind, Ozone, col = "blue"))
with(subset(airquality, Month != 5), points(Wind, Ozone, col = "red"))
legend("topright", pch = 1, col = c("blue", "red"), legend = c("May", "Other Months"))
model = lm(Ozone ~ Wind, airquality) # vytvorenie modelu pomocou linearnej regresie zo stlpcov Ozone, Wind
abline(model, lwd = 2) # pridanie čiary pomocou vytvoreného modelu
par(mfrow = c(1, 3), mar = c(4, 4, 2, 1), oma = c(0, 0, 2, 0))
with(airquality, {
plot(Wind, Ozone, main = "Ozone and Wind")
plot(Solar.R, Ozone, main = "Ozone and Solar Radiation")
plot(Temp, Ozone, main = "Ozone and Temperature")
mtext("Ozone and Weather in New York City", outer = TRUE)
})
library(datasets)
with(faithful, plot(eruptions, waiting))
title(main = "Old Faithful Geyser data")
dev.copy(png, file = "geyserplot.png")
dev.off()
LATTICE PLOTTING SYSTEM
library(lattice)
state <- data.frame(state.x77, region = state.region)
xyplot(Population~Murder,state)
bwplot(Population~region,state)
histogram(Population~Murder,state)
stripplot(Population~region,state)
dotplot(Population~region,state)
dotplot(Population~Murder,state)
splom(~state[,1:2]|state$region)
library(datasets)
airquality <- transform(airquality, Month = factor(Month))
xyplot(Ozone ~ Wind | Month, data = airquality, layout = c(5, 1))
p <- xyplot(Ozone ~ Wind, data = airquality) # Nevytlačí
print(p)
xyplot(Ozone ~ Wind, data = airquality) # Vytlačí
set.seed(10)
x <- rnorm(100)
f <- rep(0:1, each = 50) # 0 a 1 po 50x
y <- x + f - f * x + rnorm(100, sd = 0.5) # výpočet y podľa vzorca
f <- factor(f, labels = c("Group 1", "Group 2")) # nastavenie prem. f na faktor s hodnotami Group1 a Group2
xyplot(y ~ x | f, layout = c(2, 1))
xyplot(y ~ x | f, panel = function(x, y, ...) {
panel.xyplot(x, y, ...) # volanie default panelovú funkciu
panel.abline(h = median(y), lty = 2) # pridanie horizontálnej čiary pre median
})
## Custom panel function
xyplot(y ~ x | f, panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.lmline(x, y, col = 2) # pridanie regresnej priamky
})
GPLOT
library(ggplot2)
str(mpg)
qplot(displ, hwy, data = mpg) # x-ová disp, y-ová hwy, z dát mpg
qplot(displ, hwy, data = mpg, color = drv) # rozdelenie farieb podľa drv
qplot(displ, hwy, data = mpg, geom = c("point", "smooth")) # pridanie geom. prvku
qplot(hwy, data = mpg, fill = drv) # histogram pre stlpec hwy, z dát mpg, cez faktor drv
qplot(displ, hwy, data = mpg, facets = . ~ drv) # použitie facets na zobrazenie viacero grafov cez faktor drv
qplot(hwy, data = mpg, facets = drv ~ .) # histogram pre hwy pre jednotlivé faktory z prvkov drv
# fileUrl <- "github.com Tento odkaz smeruje mimo DF.sk
# download.file(fileUrl,destfile = "maacs.Rda")
load("maacs.Rda")
str(maacs)
qplot(log(eno), data = maacs, geom = "density")
qplot(log(eno), data = maacs, geom = "density", color = mopos)
qplot(log(pm25), log(eno), data = maacs, color = mopos,
geom = c("point", "smooth"), method = "lm")
qplot(log(pm25), log(eno), data = maacs, geom = c("point", "smooth"),
method = "lm", facets = . ~ mopos)
mydata = mpg
mydata$year = factor(mpg$year)
g = ggplot(mydata,aes(displ,hwy))
g + geom_point() + facet_wrap(year ~ drv, nrow = 2, ncol = 3) + geom_smooth(method="lm", se=FALSE, col="steelblue") + theme_bw(base_size = 12) + labs(x = "Engine displacement [litres]") + labs(y = "Highway miles pre gallon") + labs(title = "Fuel economy data from 1999 and 2008 for 38 popular models of car")
|
 |
|
15
|
DOWNLOAD FILES CSV
fileUrl <- "web.tuke.sk Tento odkaz smeruje mimo DF.sk
download.file(fileUrl, destfile = "data\iris.csv")
datum <- date()
list.files("data")
READ TABLE
iris = read.table("data\iris.csv", sep = ";", header = TRUE)
head(iris,3)
tail(iris,4)
iris1 = read.csv("data\iris.csv")
iris2 = read.csv2("data\iris.csv")
READ XLSX
library(xlsx)
# fileUrl <- "web.tuke.sk Tento odkaz smeruje mimo DF.sk
# download.file(fileUrl,destfile="./data/iris_excel.xlsx")
iris_excel = read.xlsx("./data/iris_excel.xlsx",sheetIndex = 1, header = TRUE)
subdata = read.xlsx("./data/iris_excel.xlsx",sheetIndex = 1, colIndex = 2:3, rowIndex = 1:5)
iris_excel1 = read.xlsx2("./data/iris_excel.xlsx",sheetIndex = 1, header = TRUE)
READ XML
library(XML)
fileUrl <- " odkaz Tento odkaz smeruje mimo DF.sk
doc <- xmlTreeParse(fileUrl,useInternal=TRUE) # uloží XML súbor, ak je FALSE tak aj ďalšie informácie
root <- xmlRoot(doc) # výpis bez hlavičky <?xml version="1.0" encoding="UTF-8"?>
xmlName(root) # výpis hlavného tagu
root[[2]] # výpis druhého jedla
root[[2]][[1]] # výpis druhého jedla a prvého prvku (názov)
xmlSApply(root,xmlValue) # vypíše všetky jedlá a informácie o nich do jedného riadku
XPATH
xpathSApply(root,"//name",xmlValue) # vypíše iba mená jedál
xpathSApply(root,"//price",xmlValue) # vypíše iba ceny jedál
# ukážka XML súboru, kde má tag s názvom book aj atribút id
# msdn.microsoft.com Tento odkaz smeruje mimo DF.sk
JSON
library(jsonlite)
data_json = fromJSON("web.tuke.sk Tento odkaz smeruje mimo DF.sk # načítanie dát
names(data_json) # výpis stlpcov
names(data_json$adresa) # výpis prvok, z ktorých sa skladá stlpec adresa
data_json$adresa$mesto # výpis miest v dátach
TO JSON
iris_json <- toJSON(iris,pretty = TRUE)
# cat(iris_json)
write(iris_json, file = "./data/iris_json.JSON")
MYSQL
library(RMySQL) # načítanie knižníc
library(DBI)
genDB = dbConnect(MySQL(),user="genome", host="genome-mysql.cse.ucsc.edu") # vytvorenie spojenia
DB = dbGetQuery(genDB,"show databases;") # ukážka dabázy
dbDisconnect(genDB) # ukončenie spojenia
#########################
hg19 <- dbConnect(MySQL(),user="genome", db="hg19",host="genome-mysql.cse.ucsc.edu") # spojenie
vsetky_tabulky <- dbListTables(hg19) # získanie názvov tabuliek v databáze hg19
length(vsetky_tabulky) # počet všetkých tabuliek
vsetky_tabulky[1:6] # výpis prvých 6 tabuliek
dbListFields(hg19,"acemblyPep") # stlpce v tabuľke acemblyPep
dbGetQuery(hg19, "select count(*) from acemblyPep") # výpis počtu záznamov v tabuľke
#########################
ailMel1 = dbConnect(MySQL(),user="genome", db="ailMel1",host="genome-mysql.cse.ucsc.edu")
vsetky_tabulky1 <- dbListTables(ailMel1)
vsetky_tabulky1[1:4]
dbListFields(ailMel1, "author")
dbGetQuery(ailMel1, "select count(*) from author")
databaza1 <- dbReadTable(ailMel1,"all_mrna")
# databaza2 <- dbReadTable(hg19,"affyU133Plus2")
QUERY
query = dbSendQuery(ailMel1, "select * from all_mrna where misMatches = 0") # výber dát z tabulky s podmienkou
subdata = fetch(query) # vytvorenie dát
subdata[1:6,1:4]
query <- dbSendQuery(hg19, "select * from affyU133Plus2 where misMatches between 1 and 3")
subdata1 <- fetch(query)
quantile(subdata1$misMatches)
HTML
library(XML)
s = htmlParse(" odkaz Tento odkaz smeruje mimo DF.sk # zadanie odkazu
tabs = readHTMLTable(s, stringsAsFactors=FALSE) # načítanie HTML do tabulky
popes = tabs[[1]][2:6,c(2,3,5)] # výber iba pápežov (tab.1) v 2 až 6 riadku a k ním 2,3,5 stlpec
names(popes) = c("meno","narodeny", "zvoleny") # pomenovanie stlpcov
|
 |
|
17
|
DT[DT$x > 0] # výber riadkov len kde hodnota stlpca X > 0
DT[,mean(x)] # výpis priemeru stlpca X
DT[,table(y)] # výpis v tabulke počty hodnot slpca Y
DT[,w:=z^2] # vytvorenie nového stlpca w, ktorý ma hodnoty z^2
DT[,f:=x>0] # vytvorenie stlpca f, ktorý má hodnotu T/F, podľa toho či X je väčšie ako 0
DT[,y:={tmp = x+y; tmp^2}] # zmena stlpca a viac operácií v jednom expression
DT[,b:=sum(x),by=f] # suma hodnôt X podľa hodnôt stlpca f
DT[,.N,by=f] # počet elementov podľa faktoru f
DT1 <- data.table(x=rep(c("a","b","c"),each=100), y=rnorm(300)) # vytvorenie tabulky, kde x má hodnoty a,b,c
setkey(DT,x) # nastavenie premennej kľúča
DT1['a']
DT2 <- data.table(x=c('a', 'a', 'b', 'dt1'), y=1:4) # tabulka, slpce x a y
DT3 <- data.table(x=c('a', 'b', 'dt2'), z=5:7) # tabulka, stlpca x a z
setkey(DT2, x) # nastavenie klúča
setkey(DT3, x) # nastavenie klúča
merge(DT2, DT3) # spojenie tabuliek
|
 |
|
18
|
Dnes som si skoro vypichol hranolkou oko pri obede.
|
 |
|
19
|
X <- data.frame("var1"=sample(1:5),"var2"=sample(6:10),"var3"=sample(11:15))
X$var2[c(1,3)] = NA
X[,1] # výber všetkých riadkov a 1 stlpca
X[,"var1"] # výber všetkých riadkov a stlpca s názvom "var1"
X[1:2,"var2"] # výber 1 až 2 riadka a stlpca s názvom "var2"
X[(X$var1 <= 3 & X$var3 > 11),] # výber riadkov, ktoré splňajú dané podmienky a všetky stlpce (& - a zároveň)
X[(X$var1 <= 3 | X$var3 > 15),] # výber riadkov, ktoré splňajú jednu z daných podmienok a všetky slpce (| - alebo)
X[which(X$var2 > 8),] # výber riadkov kde var2 > 8, which - ignorovanie NA hodnôt
X$d = rnorm(5) # pridanie stlpca d
Y = cbind(X,rnorm(5)) # vytvorenie tabulky/matice Y s dátami X a novým slpcom
sort(X$var1) # usporiadanie premennej var1 zostupne(od najmenšieho po najväčšie)
sort(X$var1,decreasing=TRUE) # usporiadanie premennej var1, vzostupne, default je FALSE
sort(X$var2,na.last=TRUE) # usporiadanie var2, berie do úvahy aj prázdne hodnoty
X[order(X$var1),] # usporiadanie celého DF podľa premennej var1
X[order(X$var1,X$var3),] # viac premenných pre usporiadanie, usporiada potom podľa poradia v order
|
 |
|
20
|
set.seed(20)
tabulka = data.frame(a=rep(c("a","b"),each=10),b = rnorm(20),c = seq(1, 100,by = 5), d = 1:20) //// rep..obsahujuca hodnota...normalova hodnota...jedna az sto s korkom 5
lapply = (tabulka$d,quantile,probs = seq(0,0.48,0.56))) ****kvantily pre hodnoty
colSums(tabulka, tabulka$b,tabulka$c,tabulka$d) **** suma stlpcov pre druhy a stvrty stlpec
quantile(tabulka$d,c(0,0.48,0.56))
colSums(tabulka[,2:4])
tabulka[,mean(c)] ****priemer stlpca c
any(is.na(tabulka$c)) ***spocitanie prazdnych hodnost v sstllpci c
sort(tabulka$b) *** usporiadajte iba stlpec B
tabulka[,E:=b^2] ***novy stlpec e umocneny b2
library(data.table)
set.seed(15)
tabulka = data.table(A=1:15,B=rep(c("c","d","e"),each = 5), C=rnorm(15),D=15:1) // 1 az 15, b obsahuje c, d, e, s hodnotou 5, normalove vyjadrenie, a 15 az 1
tabulka$D[c(7,12,14)] = ****na 7, 12 a 14 hodnotu v stlpci d priradena NA
summary(tabulka) **** sumar tabulky
sum(is.na(tabulka$D) ****) sumar tabulky prazdnych hodnot stlpca d
all(tabulka$C>0) ****hodnotz v stlpci c vacssie ako 0
tabulka[,mean(C)] *** priemer stlpca c
sort(tabulka$A) ****usporiadajte stlpec a
tabulka[,E:=sum(A,rep(factor(b)))] pridajte e ktora bude obsahovat sumu stlpca a podla faktoru
tabulka[,F:=c^2]
set.seed(10)
tabulka = data.table(A=rnorm(10),B=1:10,C=10:1,D=rep(factor(c("a","b")),each = 5))
#tabulka[[1]][2] = NA ****prazdna hodnota na druhe miesto
#tabulka[[1]][4] = NA ***** na stvrte miesto
tabulka[,mean(A)] **** priemer A
tabulka[,e:=b^2]
tabulka[,f:=sum(b),by=d] suma b roydelena podla d
#sort(tabulka$c)
#tabulka[order(tabulka$c),] *** podla stlpca c
|
 |
|
21
|
do stlpca c na prve miseto hodnota NA ...******.tabulka$C[c(1)]
tabulka[,f=sum(a), by=5) ******** pridajte stlpec f ktorz bude mat hodtnoty stlpca a predeleny o 5
quantile(tabulka$d,c(0,0.20, 0.78, 0,89)) **** vypocitaj guantily pre hodoty 0 20 78 89
colSums(tabulka, tabulka$a,tabulka$b) ******Spocitajte riadky pre stlpec a b
#tabulka[order(tabulka$c),]****** usporiadajte tabulku podla stlpca d
any(is.na(tabulka$c)) ****** spocitaj prazdhne hodnoty stlpca c
sort(C$var2,na.last=TRUE)******* usporiadaj iba stlpec c s tym ze prazdne hodnoty na konci
???? ********vrate t alebo f podla toho ci sa v stlpcii a nachadzaju nejake prazdne hodnoty ?
|
 |
|
|