Шта је оквир података?
Оквир података је листа вектора који су једнаке дужине. Матрица садржи само једну врсту података, док оквир података прихвата различите типове података (нумерички, карактер, фактор итд.).
У овом упутству ћете научити-
- Шта је оквир података?
- Како створити оквир података
- Додавање колоне у оквир података
- Изаберите колону оквира података
- Подскупи оквир података
Како створити оквир података
Оквир података можемо створити у Р преношењем променљиве а, б, ц, д у функцију дата.фраме (). Можемо Р креирати оквир података и именовати колоне са наме () и једноставно одредити име променљивих.
data.frame(df, stringsAsFactors = TRUE)
Аргументи :
- дф : То може бити матрица за претварање као оквир података или збирка променљивих за придруживање
- стрингсАсФацторс : Претварање низа у фактор по дефаулту
Можемо створити оквир података у Р за наш први скуп података комбиновањем четири променљиве исте дужине.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
Излаз:
## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0
Можемо видети да заглавља колона имају исто име као и променљиве. Назив колоне у Р можемо променити помоћу имена функције (). Погледајте пример Р цреате датафраме испод:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Излаз:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
Излаз:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
Подразумевано, оквир података враћа променљиве низа као фактор.
Слице Дата Фраме
Могуће је СЛИЦЕ вредности оквира података. Бирамо редове и колоне које ћемо вратити у заграду претходећи имену оквира података.
Оквир података састоји се од редова и колона, дф [А, Б]. А представља редове, а Б колоне. Можемо да исечемо одређивањем редова и / или колона.
Са слике 1, леви део представља редове, а десни део су колоне . Имајте на уму да симбол: значи да . На пример, 1: 3 намерава да изабере вредности од 1 до 3.
На доњем дијаграму приказујемо како приступити различитом избору оквира података:
- Жута стрелица бира ред 1 у колони 2
- Зелена стрелица бира редове 1 до 2
- Црвена стрелица бира колону 1
- Плава стрелица бира редове 1 до 3 и колоне 3 до 4
Имајте на уму да ће, ако пустимо леви део празним, Р одабрати све редове . По аналогији, ако пустимо десни део празним, Р ће одабрати све колоне .
Код можемо покренути у конзоли:
## Select row 1 in column 2df[1,2]
Излаз:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Излаз:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Излаз:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Излаз:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
Такође је могуће одабрати колоне са њиховим именима. На пример, доњи код издваја две колоне: ИД и продавницу.
# Slice with columns namedf[, c('ID', 'store')]
Излаз:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Додавање колоне у оквир података
Такође можете додати колону у оквир података. Морате да користите симбол $ за додавање променљиве датафраме Р и додавање колоне датафраме-у у Р.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Излаз:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
Напомена: Број елемената у вектору мора бити једнак броју елемената у оквиру података. Извршавање следеће наредбе за додавање колоне у оквир података Р.
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Даје грешку:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Изаберите колону оквира података
Понекад морамо да сачувамо колону оквира података за будућу употребу или да извршимо операцију на колони. Знаком $ можемо да изаберемо колону из оквира података.
# Select the column IDdf$ID
Излаз:
## [1] 1 2 3 4
Подскупи оквир података
У претходном одељку изабрали смо целу колону без услова. Могуће је извршити подскуп на основу тога да ли је одређени услов био тачан или не.
Користимо функцију субсет ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Желимо да вратимо само предмете чија је цена изнад 10, можемо да урадимо:
# Select price above 5subset(df, subset = price > 5)
Излаз:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7