Something went wrong on our end
-
elisabetta.ronchiri@gmail.com authoredelisabetta.ronchiri@gmail.com authored
- Operazioni supportate dai vettori
- Creare e modificare i vettori
- 1. Creare i vettori v1 e v2
- 2. Determinare il numero di elementi nel vettore v1
- 3. Determinare il numero di elementi della operazione v1 + v2
- 4. Calcolare la somma degli elementi di v1
- 5. Calcolare la somma di v2 * v2
- 6. Calcolare la somma tra v1 e v2
- 7. Assegnare al vettore v3 il risultato della operazione v1 * 2, determinandone il numero di elementi
- 8. Assegnare il valore medio di v3 ad un nuovo vettore v3.mean determinandone la lunghezza
- 9. Creare un vettore (numerico) v4 di soli interi con valori da 1 a 50
- 10. Creare un vettore (numerico) v5 della stessa lunghezza di v4 ma contenente il solo numero 3
- 11. Creare un vettore (numerico) v6 che contenga i numeri da 1 a 10, dove ciascun numero e' ripetuto un numero di volte uguale al numero stesso (per esempio, 1, 2, 2, 3, 3, 3, ...)
- 12. Determinare in quale caso si applica la regola del riciclo
- 13. Creare due vettori di 4 elementi ed eseguire le operazioni base riassunte nella tabella iniziale
- Accedere agli elementi dei vettori
- 1. Creare un vettore di caratteri contenente i primi 10 laptop brand: apple, asus, dell, hp, lenovo, acer, microsoft, samsung, toshiba, msi
- 2. Selezionare toshiba dal vettore laptop
- 3. Selezionare tutti gli elementi del vettore
- 4. Selezionare i brand asus, hp, dell e msi dal vettore laptop
- 5. Selezionare tutti i brand tranne apple dal vettore laptop
- 6. Convertire il vettore di caratteri laptop in un vettore numerico
- 7. Creare un vettore di valori logici che puo' essere usato per estrarre dal vettore di caratteri laptop i valori nelle posizioni multiple di 2
- 8. Creare un vettore contenente tutte le lettere maiuscole dell'alfabeto
- 9. Partendo dal vettore LETTERS, creare un campione di 30 elementi. convertendo gli elementi in factor, determinandone i livelli e quelli con frequenza maggiore
- 10. Estrarre dal vettore LETTERE.campione le lettere dalla posizione 10 alla 20
- 11. Estrarre dal vettore LETTERE.campione tutte le lettere tranne l'ultima.
- 12. Determinare la posizione della lettera E nel vettore LETTERE.campione
- 13. Compattare gli elementi del vettore LETTERE.campione
- 14. Costruire una sequenza di stringhe a partire da una replica di stringhe di valore infn, in modo tale da ottenere: bo.infn.it, cnaf.infn.it, fe.infn.it, etc
vector.Rmd 6.52 KiB
title: "Vector"
author: "ronchieri"
date: "22 febbraio 2017"
output:
pdf_document: default
html_document: default
knitr::opts_chunk$set(echo = TRUE, comment ="")
library(pander)
Operazioni supportate dai vettori
Operazione | Descrizione |
---|---|
x + y | addizione |
x - y | sottrazione |
x * y | moltiplicazione |
x / y | divisione |
x ^ y | esponente |
x %% y | modulo |
x %/% y | divisione tra interi |
x == y | test di uguaglianza |
x <= y | test di minore o uguale |
x >= y | test di maggiore o uguale |
x && y | booleano AND per scalari |
x & y | booleano AND per vettori |
x || y | booleano OR per scalari |
x || y | booleano OR per vettori |
!x | boolean not |
Creare e modificare i vettori
v1
e v2
1. Creare i vettori v1 <- c(2, 4 ,7)
v2 <- c(1, 5, 11)
v1
2. Determinare il numero di elementi nel vettore length(v1)
v1 + v2
3. Determinare il numero di elementi della operazione length(v1 + v2)
v1
4. Calcolare la somma degli elementi di sum(v1)
v2 * v2
5. Calcolare la somma di sum(v2 * v2)
v1
e v2
6. Calcolare la somma tra v1 + v2
v3
il risultato della operazione v1 * 2
, determinandone il numero di elementi
7. Assegnare al vettore v3 <- v1 * 2
length(v3)
v3
ad un nuovo vettore v3.mean
determinandone la lunghezza
8. Assegnare il valore medio di v3.mean <- mean(v3)
length(v3.mean)
v4
di soli interi con valori da 1 a 50
9. Creare un vettore (numerico) v4 <- 1:50
v4
v5
della stessa lunghezza di v4
ma contenente il solo numero 3
10. Creare un vettore (numerico) v5 <- rep(3, length(v4))
v5
v6
che contenga i numeri da 1 a 10, dove ciascun numero e' ripetuto un numero di volte uguale al numero stesso (per esempio, 1, 2, 2, 3, 3, 3, ...)
11. Creare un vettore (numerico) v6 <- rep(1:10, 1:10)
v6
12. Determinare in quale caso si applica la regola del riciclo
c(1, 3, 5) + c(2, 4, 6)
c(1, 3, 5) + c(2, 4, 6, 8)
c(2, 4, 6 ,8) - c(1, 3)
13. Creare due vettori di 4 elementi ed eseguire le operazioni base riassunte nella tabella iniziale
Accedere agli elementi dei vettori
10 laptop brand: apple, asus, dell, hp, lenovo, acer, microsoft, samsung, toshiba, msi
1. Creare un vettore di caratteri contenente i primilaptop <- c("apple", "asus", "dell", "hp",
"lenovo", "acer", "microsoft",
"samsung", "toshiba", "msi")
toshiba
dal vettore laptop
2. Selezionare Soluzione 1
laptop[9]
Soluzione 2
laptop[which(laptop=="toshiba")]
3. Selezionare tutti gli elementi del vettore
laptop[1:length(laptop)]
asus
, hp
, dell
e msi
dal vettore laptop
4. Selezionare i brand laptop[laptop=="apple" | laptop=="asus" | laptop=="dell" | laptop=="msi"]
apple
dal vettore laptop
5. Selezionare tutti i brand tranne Soluzione 1
laptop[laptop!="apple"]
Soluzione 2
laptop[-1]
laptop
in un vettore numerico
6. Convertire il vettore di caratteri as.numeric(laptop)
laptop
i valori nelle posizioni multiple di 2
7. Creare un vettore di valori logici che puo' essere usato per estrarre dal vettore di caratteri estrai <- c(F,T,F,T,F,T,F,T,F,T)
laptop[estrai]
8. Creare un vettore contenente tutte le lettere maiuscole dell'alfabeto
LETTERS
LETTERS
, creare un campione di 30 elementi. convertendo gli elementi in factor, determinandone i livelli e quelli con frequenza maggiore
9. Partendo dal vettore LETTERE.campione <- sample(LETTERS,
size=30,
replace = TRUE)
LETTERE.campione <- factor(LETTERE.campione)
cat(paste("I livelli sono ",
nlevels(LETTERE.campione),
"con la seguente frequenza:",
sep=" "))
library(pander)
pander(summary(LETTERE.campione))
LETTERE.livellomassimo<-max(sapply(
summary(LETTERE.campione),max)
)
cat(paste("Mentre i livelli con frequenza maggiore (",
LETTERE.livellomassimo,
") risultano: "))
pander(which(
summary(LETTERE.campione)==LETTERE.livellomassimo)
)
LETTERE.campione <- sample(LETTERS, size=30, replace = TRUE)
LETTERE.campione <- factor(LETTERE.campione)
cat(paste("I livelli sono ",
nlevels(LETTERE.campione),
"con la seguente frequenza:",
sep=" "))
pander(summary(LETTERE.campione))
LETTERE.livellomassimo<-max(sapply(
summary(LETTERE.campione),max)
)
cat(paste("Mentre i livelli con frequenza maggiore (",
LETTERE.livellomassimo,
") risultano: "))
pander(which(
summary(LETTERE.campione)==LETTERE.livellomassimo)
)
LETTERE.campione
le lettere dalla posizione 10 alla 20
10. Estrarre dal vettore LETTERE.campione[10:20]
LETTERE.campione
tutte le lettere tranne l'ultima.
11. Estrarre dal vettore Soluzione 1
LETTERE.campione[1:length(LETTERE.campione)-1]
Soluzione 2
LETTERE.campione[-length(LETTERE.campione)]
E
nel vettore LETTERE.campione
12. Determinare la posizione della lettera if isTRUE(LETTERE.campione=='E')
which(LETTERE.campione=='E')
LETTERE.campione
13. Compattare gli elementi del vettore paste(LETTERE.campione, sep = "", collapse = "")
infn
, in modo tale da ottenere: bo.infn.it
, cnaf.infn.it
, fe.infn.it
, etc
14. Costruire una sequenza di stringhe a partire da una replica di stringhe di valore ente <- rep("infn", 35)
sedi <- c('to', 'lnf', 'mi', 'mib', 'pv',
'ud','ts',
'pd', 'lnl', 'tn',
'bo', 'cnaf','pr', 'fe',
'ge',
'fi', 'pi', 'unisi',
'lngs', 'aquila', 'pg',
'roma1', 'roma2', 'roma3', 'iss', 'lnf',
'le', 'ba',
'cs', 'na', 'sa',
'ct', 'lns', 'ms',
'ca')
dominio <- paste(sedi,ente,'it',sep='.')
pander(head(sort(dominio), n=length(dominio)))