ProHoster > Блог > Kev tswj hwm > Hom lus twg los xaiv rau kev ua haujlwm nrog cov ntaub ntawv - R lossis Python? Ob leeg! Migrating los ntawm pandas mus tidyverse thiab data.table thiab rov qab
Hom lus twg los xaiv rau kev ua haujlwm nrog cov ntaub ntawv - R lossis Python? Ob leeg! Migrating los ntawm pandas mus tidyverse thiab data.table thiab rov qab
Los ntawm kev tshawb nrhiav R lossis Python hauv Is Taws Nem, koj yuav pom ntau lab ntawm cov kab lus thiab mais ntawm kev sib tham ntawm cov ncauj lus uas ib qho zoo dua, sai dua thiab yooj yim dua rau kev ua haujlwm nrog cov ntaub ntawv. Tab sis hmoov tsis, tag nrho cov kab lus thiab kev tsis sib haum xeeb no tsis muaj txiaj ntsig tshwj xeeb.
Lub hom phiaj ntawm tsab xov xwm no yog los sib piv cov txheej txheem ua cov ntaub ntawv hauv cov pob nrov tshaj plaws ntawm ob hom lus. Thiab pab cov neeg nyeem sai sai ua ib yam dab tsi uas lawv tsis paub. Rau cov neeg uas sau hauv Python, nrhiav seb yuav ua li cas tib yam hauv R, thiab rov ua dua.
Nyob rau hauv tsab xov xwm peb yuav txheeb xyuas cov syntax ntawm cov pob khoom nrov tshaj plaws hauv R. Cov no yog cov pob khoom suav nrog hauv tsev qiv ntawv tidyversethiab kuj lub pob data.table. Thiab sib piv lawv syntax nrog pandas, qhov nrov tshaj plaws cov ntaub ntawv tsom xam pob hauv Python.
Peb yuav mus rau ib kauj ruam dhau los ntawm tag nrho txoj hauv kev ntawm kev txheeb xyuas cov ntaub ntawv los ntawm kev thauj khoom mus rau kev ua haujlwm analytical qhov rais siv Python thiab R.
Txheem
Cov kab lus no tuaj yeem siv los ua ib daim ntawv khib nyiab yog tias koj tsis nco qab yuav ua li cas ua qee cov ntaub ntawv ua haujlwm hauv ib qho ntawm cov pob khoom raws li kev xav.
Txhawm rau ua kom yooj yim rau koj hloov ntawm Python rau R, lossis rov ua dua, kuv yuav muab ob peb lub ntsiab lus tseem ceeb uas koj yuav tsum tau them sai sai rau.
Nkag mus rau pob Functions
Thaum ib lub pob ntim rau hauv R, koj tsis tas yuav qhia lub npe pob kom nkag mus rau nws cov haujlwm. Feem ntau qhov no tsis tshwm sim hauv R, tab sis nws tau txais. Koj tsis tas yuav import ib pob tag nrho yog tias koj xav tau ib qho ntawm nws cov haujlwm hauv koj cov cai, tab sis tsuas yog hu nws los ntawm kev qhia lub npe ntawm pob thiab lub npe ntawm txoj haujlwm. Qhov sib cais ntawm pob thiab cov npe ua haujlwm hauv R yog ob txoj hnyuv loj. package_name::function_name().
Hauv Python, ntawm qhov tsis sib xws, nws suav hais tias yog classic hu ua lub luag haujlwm ntawm lub pob los ntawm kev qhia meej meej nws lub npe. Thaum lub pob rub tawm, nws feem ntau muab lub npe luv, piv txwv li. pandas feem ntau yog siv pseudonym pd. Ib pob muaj nuj nqi yog nkag los ntawm ib qho chaw package_name.function_name().
Txoj hauj lwm
Hauv R, nws yog ib txwm siv tus xub los muab tus nqi rau ib qho khoom. obj_name <- value, txawm hais tias ib qho kev sib npaug sib npaug tau tso cai, ib qho sib npaug kos npe hauv R yog siv feem ntau kom dhau qhov tseem ceeb rau kev sib cav.
Hauv Python, kev ua haujlwm tsuas yog ua tiav nrog ib qho kos npe sib npaug obj_name = value.
piav qhia
Lub npe hauv R
Lub npe hauv Python/pandas
Rooj qauv
data.frame, data.table, tib
DataFrame
Ib-dimensional daim ntawv teev cov nqi
Vector
Series hauv pandas lossis npe hauv Python ntshiab
Multi-level non-tabular qauv
Sau npe
Phau ntawv txhais lus (dict)
Peb yuav saib qee qhov nta thiab qhov sib txawv ntawm cov syntax hauv qab no.
Ob peb lo lus hais txog cov pob peb yuav siv
Ua ntej, kuv yuav qhia koj me ntsis txog cov pob khoom uas koj yuav paub txog thaum lub sijhawm tsab xov xwm no.
tidyverse
Official lub website: tidyverse.org
tsev qiv ntawv tidyverse sau los ntawm Hedley Wickham, Senior Research Scientist ntawm RStudio. tidyverse muaj cov txheej txheem zoo ntawm cov pob khoom uas yooj yim ua cov ntaub ntawv, 5 ntawm cov uas tau suav nrog hauv 10 rub tawm sab saum toj los ntawm CRAN repository.
Lub hauv paus ntawm lub tsev qiv ntawv muaj cov pob hauv qab no: ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. Txhua pob khoom no yog tsom rau kev daws teeb meem tshwj xeeb. Piv txwv li dplyr tsim rau cov ntaub ntawv manipulation, tidyr coj cov ntaub ntawv mus rau ib daim ntawv zoo, stringr simplifies ua hauj lwm nrog cov hlua, thiab ggplot2 yog ib qho ntawm cov ntaub ntawv nrov tshaj plaws pom cov cuab yeej.
Thawj qhov kev tso tawm ntawm lub tsev qiv ntawv tau tshwm sim hauv xyoo 2006.
Lub pob syntax tsis yooj yim li hauv tidyverse thiab yog ntau reminiscent ntawm classic dataframes nyob rau hauv R, tab sis nyob rau tib lub sij hawm ho nthuav nyob rau hauv functionality.
Tag nrho cov manipulations nrog lub rooj nyob rau hauv lub pob no yog piav nyob rau hauv square brackets, thiab yog hais tias koj txhais cov syntax data.table hauv SQL, koj tau txais qee yam zoo li no: data.table[ WHERE, SELECT, GROUP BY ]
Lub zog ntawm lub pob no yog qhov ceev ntawm kev ua cov ntaub ntawv loj.
Lub npe ntawm lub tsev qiv ntawv los ntawm lo lus econometric "cov ntaub ntawv vaj huam sib luag", siv los piav qhia ntau yam txheej txheem ntawm cov ntaub ntawv.
Los ntawm pandas yog American Wes McKinney.
Thaum nws los txog rau kev txheeb xyuas cov ntaub ntawv hauv Python, sib npaug pandas Tsis muaj. Multifunctional heev, qib siab pob uas tso cai rau koj los ua txhua yam kev tswj hwm nrog cov ntaub ntawv, los ntawm kev thauj cov ntaub ntawv los ntawm txhua qhov chaw kom pom nws.
Txhim kho cov pob khoom ntxiv
Cov pob khoom sib tham hauv kab lus no tsis suav nrog hauv R thiab Python kev faib tawm yooj yim. Txawm hais tias muaj qhov tsis txaus ntseeg me me, yog tias koj tau teeb tsa Anaconda faib, ces nruab ntxiv pandas tsis xav tau.
Txhim kho pob khoom hauv R
Yog tias koj tau qhib RStudio kev txhim kho ib puag ncig tsawg kawg ib zaug, tej zaum koj twb paub yuav ua li cas rau nruab cov pob yuav tsum tau ua hauv R. Txhawm rau nruab cov pob, siv cov lus txib txheem install.packages() los ntawm kev khiav nws ncaj qha hauv R nws tus kheej.
# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")
Tom qab kev teeb tsa, cov pob yuav tsum tau txuas nrog, uas feem ntau siv cov lus txib library().
# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)
Txhim kho pob hauv Python
Yog li, yog tias koj muaj Python ntshiab ntsia, ces pandas koj yuav tsum nruab nws manually. Qhib cov kab hais kom ua, lossis lub davhlau ya nyob twg, nyob ntawm koj qhov kev khiav haujlwm thiab nkag mus rau cov lus txib hauv qab no.
pip install pandas
Tom qab ntawd peb rov qab mus rau Python thiab import lub pob teeb tsa nrog cov lus txib import.
vroom vs nyeem
Dab tsi yog qhov tso tawm ntawm vroom txhais rau readr? Txog tam sim no peb npaj cia ob pob khoom hloov pauv sib txawv, tab sis tej zaum peb yuav sib sau ua ke cov pob khoom yav tom ntej. Ib qho tsis zoo rau vroom tus tub nkees nyeem ntawv yog qee cov ntaub ntawv teeb meem tsis tuaj yeem tshaj tawm pem hauv ntej, yog li yuav ua li cas zoo tshaj los koom ua ke lawv yuav tsum muaj qee qhov kev xav.
vroom vs readr
Kev tso tawm txhais li cas? vroom rau readr? Tam sim no peb npaj yuav tsim ob pob khoom sib cais, tab sis peb yuav zaum ua ke rau yav tom ntej. Ib qho tsis zoo ntawm tub nkeeg nyeem ntawv vroom yog tias qee qhov teeb meem nrog cov ntaub ntawv tsis tuaj yeem tshaj tawm ua ntej, yog li koj yuav tsum xav txog yuav ua li cas zoo tshaj los muab lawv.
Hauv tsab xov xwm no peb yuav saib ob qho tib si cov ntaub ntawv thauj khoom:
Yog tias peb piv nrog R pob, ces qhov no cov syntax yog ze tshaj plaws pandas yuav readr, vim pandas tuaj yeem thov cov ntaub ntawv los ntawm txhua qhov chaw, thiab muaj tag nrho tsev neeg ntawm kev ua haujlwm hauv pob no read_*().
read_csv()
read_excel()
read_sql()
read_json()
read_html()
Thiab ntau lwm txoj haujlwm tsim los nyeem cov ntaub ntawv los ntawm ntau hom ntawv. Tab sis rau peb lub hom phiaj nws yog txaus read_table() los yog read_csv() siv kev sib cav Sep txhawm rau txheeb xyuas kab sib cais.
Txhawm rau xaiv kab, siv qhov ua haujlwm select().
Hauv qab no yog cov piv txwv ntawm cov cai uas koj tuaj yeem xaiv cov kab hauv qab no:
Sau cov npe ntawm cov kab uas xav tau
Xa mus rau kab npe siv cov kab lus tsis tu ncua
Los ntawm hom ntaub ntawv lossis lwm yam khoom ntiag tug ntawm cov ntaub ntawv muaj nyob hauv kab
Xaiv cov kab hauv R: dplyr
# Выбор нужных столбцов
## dplyr
### выбрать по названию столбцов
select(ga_nov, date, source, sessions)
### исключь по названию столбцов
select(ga_nov, -medium, -bounces)
### выбрать по регулярному выражению, стобцы имена которых заканчиваются на s
select(ga_nov, matches("s$"))
### выбрать по условию, выбираем только целочисленные столбцы
select_if(ga_nov, is.integer)
Xaiv kab hauv R: data.table
Tib yam haujlwm hauv data.table tau ua txawv me ntsis, thaum pib ntawm tsab xov xwm kuv tau muab cov lus piav qhia ntawm cov lus sib cav dab tsi nyob rau hauv square brackets hauv data.table.
DT[i,j,by]
Qhov twg:
kuv, i.e. lim los ntawm kab
j - xaiv|hloov tshiab|ua, i.e. xaiv kab thiab hloov lawv
los ntawm - data grouping
Kuj tsis paub meej .SD tso cai rau koj nkag mus rau txhua kab, thiab .SDcols lim cov kab uas xav tau siv cov kab lus tsis tu ncua, lossis lwm yam haujlwm los lim cov npe ntawm kab koj xav tau.
Xaiv kab hauv Python, pandas
Txhawm rau xaiv kab los ntawm lub npe hauv pandas Nws yog txaus los muab ib daim ntawv teev npe ntawm lawv cov npe. Thiab txhawm rau xaiv lossis cais cov kab los ntawm lub npe siv cov kab lus tsis tu ncua, koj yuav tsum siv cov haujlwm drop() и filter(), thiab kev sib cav axis = 1, uas koj qhia tias nws yog ib qho tsim nyog los ua cov kab ntau dua li cov kab.
Txhawm rau xaiv ib daim teb los ntawm hom ntaub ntawv, siv cov haujlwm select_dtypes(), thiab hauv kev sib cav suav nrog los yog tsis suav hla ib daim ntawv teev cov ntaub ntawv hom sib raug rau cov teb uas koj xav tau xaiv.
Xaiv kab hauv Python: pandas
# Выбор полей по названию
ga_nov[['date', 'source', 'sessions']]
# Исключить по названию
ga_nov.drop(['medium', 'bounces'], axis=1)
# Выбрать по регулярному выражению
ga_nov.filter(regex="s$", axis=1)
# Выбрать числовые поля
ga_nov.select_dtypes(include=['number'])
# Выбрать текстовые поля
ga_nov.select_dtypes(include=['object'])
Lim kab
Piv txwv li, lub hauv paus ntsiab lus yuav muaj ob peb xyoos ntawm cov ntaub ntawv, tab sis koj tsuas yog yuav tsum tau soj ntsuam lub hli tas los. Ntxiv dua thiab, cov kab ntxiv yuav ua rau cov txheej txheem ua cov ntaub ntawv qeeb thiab txhaws lub PC nco.
Lim kab hauv R: tydyverse, dplyr
В dplyr txoj haujlwm yog siv los lim kab filter(). Nws yuav siv lub dataframe ua thawj qhov kev sib cav, ces koj sau cov kev lim dej.
Thaum sau cov lus qhia kev xav kom lim lub rooj, hauv qhov no, qhia cov npe ntawm kab ntawv yam tsis muaj nqe lus thiab tsis tshaj tawm lub npe lub rooj.
Thaum siv ntau qhov kev xav tau los lim, siv cov neeg ua haujlwm hauv qab no:
& lossis comma - logical THIAB
| - logical LOS YOG
Lim kab hauv R: dplyr
# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)
Lim kab hauv R: data.table
Raws li kuv tau sau saum toj no, hauv data.table cov ntaub ntawv hloov dua siab tshiab syntax yog nyob rau hauv square brackets.
DT[i,j,by]
Qhov twg:
kuv, i.e. lim los ntawm kab
j - xaiv|hloov tshiab|ua, i.e. xaiv kab thiab hloov lawv
los ntawm - data grouping
Logical expressions muaj feem xyuam rau ib leeg ib yam li nyob rau hauv dplyr los ntawm & thiab | tus neeg ua haujlwm.
Lim kab hauv R: data.table
## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]
Lim cov hlua hauv Python: pandas
Lim los ntawm kab hauv pandas zoo ib yam li lim hauv data.table, thiab yog ua nyob rau hauv square brackets.
Hauv qhov no, kev nkag mus rau txhua kab yog ua tiav los ntawm kev qhia lub npe ntawm dataframe; tom qab ntawd lub npe kab kuj tseem tuaj yeem qhia hauv cov lus hais hauv cov kab lus square (Piv txwvdf['col_name']), los yog tsis muaj quotes tom qab lub sij hawm (Piv txwvdf.col_name).
Yog tias koj xav tau lim cov dataframe los ntawm ntau qhov xwm txheej, txhua qhov xwm txheej yuav tsum tau muab tso rau hauv kab lus. Logical tej yam kev mob yog txuas nrog ib leeg los ntawm cov tswv & и |.
Lim cov hlua hauv Python: pandas
# Фильтрация строк таблицы
### фильтрация строк по одному условию
ga_nov[ ga_nov['source'] == "google" ]
### фильтр по двум условиям соединённым логическим и
ga_nov[(ga_nov['source'] == "google") & (ga_nov['sessions'] >= 10)]
### фильтр по двум условиям соединённым логическим или
ga_nov[(ga_nov['source'] == "google") | (ga_nov['sessions'] >= 10)]
Grouping thiab aggregation ntawm cov ntaub ntawv
Ib qho ntawm cov haujlwm feem ntau siv hauv kev txheeb xyuas cov ntaub ntawv yog kev sib koom ua ke thiab sib sau ua ke.
Cov syntax rau kev ua cov haujlwm no tau tawg mus thoob plaws txhua pob peb tshuaj xyuas.
Hauv qhov no, peb yuav coj tus dataframe ua piv txwv Titanic, thiab suav tus lej thiab tus nqi nruab nrab ntawm daim pib nyob ntawm chav tsev nyob.
Ua haujlwm group_by() peb dhau lub rooj ua thawj qhov kev sib cav Titanic, thiab tom qab ntawd qhia lub teb Pclass, los ntawm qhov uas peb yuav pab pawg peb lub rooj. Qhov tshwm sim ntawm qhov kev ua haujlwm no siv tus neeg teb xov tooj %>% dhau raws li thawj qhov kev sib cav rau lub luag haujlwm summarise(), thiab ntxiv 2 qhov chaw ntxiv: cov neeg caij tsheb и avg_nqi. Hauv thawj zaug, siv cov haujlwm length() xam tus naj npawb ntawm daim pib, thiab nyob rau hauv lub thib ob siv lub functionality mean() tau txais daim pib nqi nruab nrab.
В data.table kev sib cav yog siv rau kev sib sau j uas muaj ob txoj hauj lwm nyob rau hauv square brackets, thiab rau pab pawg by los yog keyby, uas muaj qhov thib peb txoj haujlwm.
Cov npe ntawm kev sib sau ua haujlwm nyob rau hauv rooj plaub no zoo ib yam li tau piav qhia hauv dplyr, vim cov no yog cov haujlwm los ntawm qhov yooj yim R syntax.
# группировка и агрегация данных
titanic.groupby(["Pclass"]).
agg({'PassengerId': 'count', 'Fare': 'mean'}).
reset_index()
Vertical koom ntawm rooj
Ib qho kev ua haujlwm uas koj koom nrog ob lossis ntau lub rooj ntawm tib lub qauv. Cov ntaub ntawv peb thauj khoom muaj cov ntxhuav ga_nov и ga_ lis. Cov rooj no zoo ib yam hauv cov qauv, i.e. muaj tib kab, thiab cov ntaub ntawv hom nyob rau hauv cov kab no.
Qhov no yog ib qho upload los ntawm Google Analytics rau lub hli ntawm Kaum Ib Hlis thiab Kaum Ob Hlis, hauv ntu no peb yuav muab cov ntaub ntawv no tso rau hauv ib lub rooj.
Vertically koom cov rooj hauv R: tidyverse, dplyr
В dplyr Koj tuaj yeem ua ke 2 lub rooj rau hauv ib qho uas siv cov haujlwm bind_rows(), dhau lub rooj raws li nws cov lus sib cav.
Lim kab hauv R: dplyr
# Вертикальное объединение таблиц
## dplyr
bind_rows(ga_nov, ga_dec)
Vertically koom cov rooj hauv R: data.table
Nws kuj tsis muaj dab tsi nyuab, cia peb siv rbind().
Lim kab hauv R: data.table
## data.table
rbind(ga_nov, ga_dec)
Vertically koom cov rooj hauv Python: pandas
В pandas txoj haujlwm yog siv los koom nrog cov rooj concat(), nyob rau hauv uas koj yuav tsum dhau ib daim ntawv teev cov thav duab los ua ke lawv.
Lim cov hlua hauv Python: pandas
# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])
Kab rov tav sib koom ntawm cov rooj
Ib qho kev ua haujlwm uas cov kab los ntawm qhov thib ob ntxiv rau thawj lub rooj los ntawm qhov tseem ceeb. Nws yog feem ntau siv thaum ntxiv cov lus tseeb (piv txwv li, lub rooj nrog cov ntaub ntawv muag khoom) nrog qee cov ntaub ntawv siv (piv txwv li, tus nqi ntawm cov khoom).
Muaj ntau ntau hom kev koom nrog:
Nyob rau hauv lub rooj ua ntej loaded Titanic peb muaj ib kem Pw ua niam txiv, uas sib haum rau tus neeg caij tsheb tus tub los ntxhais code:
1 - poj niam
2 - txiv neej
Tsis tas li ntawd, peb tau tsim ib lub rooj - ib phau ntawv siv poj niam txiv neej. Rau kev nthuav qhia yooj yim dua ntawm cov ntaub ntawv ntawm poj niam txiv neej ntawm cov neeg caij tsheb, peb yuav tsum ntxiv lub npe ntawm poj niam los txiv neej los ntawm phau ntawv teev npe poj niam txiv neej mus rau lub rooj Titanic.
Kab rov tav rooj koom nrog R: tidyverse, dplyr
В dplyr Muaj tag nrho tsev neeg ntawm kev ua haujlwm rau kev sib koom ua ke kab rov tav:
Raws li thawj ob qhov kev sib cav, cov haujlwm tau teev tseg saum toj no coj ob lub rooj los koom, thiab raws li qhov kev sib cav thib peb by koj yuav tsum qhia kom meej cov kab mus koom.
Kab rov tav rooj koom nrog R: dplyr
# объединяем таблицы
left_join(titanic, gender,
by = c("Sex" = "id"))
tag nrho, all.x, all.y — Koom hom, tag nrho yuav rov qab tag nrho cov kab ntawm ob lub rooj, all.x sib raug rau LEFT JOIN ua haujlwm (yuav tawm tag nrho cov kab ntawm thawj lub rooj), all.y — sib raug rau RIGHT JOIN ua haujlwm (yuav tawm tag nrho cov kab ntawm lub rooj thib ob).
# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
Lub qhov rais yooj yim ua haujlwm thiab suav cov kab
Lub qhov rais ua haujlwm zoo ib yam hauv lub ntsiab lus rau kev sib sau ua ke, thiab feem ntau siv rau hauv kev tshuaj xyuas cov ntaub ntawv. Tab sis tsis zoo li aggregation functions, qhov rais functions tsis hloov tus naj npawb ntawm kab ntawm cov ntaub ntawv tawm.
Qhov tseem ceeb, siv lub qhov rais ua haujlwm, peb faib cov ntaub ntawv nkag mus rau hauv qhov chaw raws li qee qhov kev ntsuas, i.e. los ntawm tus nqi ntawm ib daim teb, los yog ob peb lub teb. Thiab peb ua haujlwm lej lej ntawm txhua lub qhov rais. Cov txiaj ntsig ntawm cov haujlwm no yuav raug xa rov qab rau hauv txhua kab, i.e. tsis hloov tag nrho cov kab hauv lub rooj.
Piv txwv li, cia peb coj lub rooj Titanic. Peb tuaj yeem xam qhov feem pua ntawm cov nqi ntawm txhua daim pib nyob hauv nws chav tsev nyob.
Ua li no, peb yuav tsum tau txais nyob rau hauv txhua kab ntawm tag nrho cov nqi ntawm daim pib rau chav tsev nyob tam sim no, uas daim pib nyob rau hauv kab no belongs, ces faib tus nqi ntawm txhua daim pib los ntawm tag nrho cov nqi ntawm tag nrho cov daim pib ntawm tib chav tsev cabin. .
Qhov rai ua haujlwm hauv R: tidyverse, dplyr
Txhawm rau ntxiv cov kab ntawv tshiab, tsis tas siv kab ua pawg, hauv dplyr ua haujlwm mutate().
Koj tuaj yeem daws qhov teeb meem tau piav qhia saum toj no los ntawm kev muab cov ntaub ntawv los ntawm thaj chaw Pclass thiab summing lub teb nyob rau hauv ib kab tshiab Nqi. Tom ntej no, ungroup lub rooj thiab faib cov nqi teb Nqi rau yam uas tau tshwm sim hauv cov kauj ruam dhau los.
Kev daws algorithm tseem zoo ib yam li hauv dplyr, peb yuav tsum tau faib lub rooj rau hauv qhov rais los ntawm teb Pclass. Muab tso rau hauv ib kem tshiab tus nqi rau cov pab pawg sib raug rau txhua kab, thiab ntxiv ib kem nyob rau hauv uas peb xam qhov feem ntawm tus nqi ntawm txhua daim pib nyob rau hauv nws pab pawg neeg.
Ntxiv cov kab tshiab rau data.table tus neeg teb xov tooj tam sim no :=. Hauv qab no yog ib qho piv txwv ntawm kev daws teeb meem uas siv lub pob data.table
Qhov rai ua haujlwm hauv R: data.table
titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost),
by = Pclass]
Lub qhov rais yooj yim ua haujlwm thiab ntxiv cov lej suav group_by() + mutate()
kev sib cav j siv tus neeg teb xov tooj := + kev sib cav by transform() + assign()
xaus
Tej zaum hauv tsab xov xwm kuv tau piav qhia tsis yog qhov ua tau zoo tshaj plaws ntawm kev ua cov ntaub ntawv, yog li kuv yuav zoo siab yog tias koj kho kuv qhov yuam kev hauv cov lus, lossis tsuas yog ntxiv cov ntaub ntawv muab rau hauv tsab xov xwm nrog rau lwm cov txheej txheem rau kev ua haujlwm nrog cov ntaub ntawv hauv R / Python.
Raws li kuv tau sau saum toj no, lub hom phiaj ntawm tsab xov xwm tsis yog los tsim ib qho kev xav ntawm hom lus twg zoo dua, tab sis kom yooj yim rau kev kawm ob hom lus, lossis, yog tias tsim nyog, tsiv ntawm lawv.