Working on class slides

This commit is contained in:
Alex 2025-09-12 13:58:32 -06:00
parent eaf67059fd
commit 3803388033
28 changed files with 179 additions and 0 deletions

View File

@ -0,0 +1,8 @@
DAT <- 1:8
?apply
apply(DAT,mean)
?mapply
x <- as.data.frame(cbind(x1 = c(3,NA,12,7), x2 = c(4:1, 2:5)) )
dimnames(x)[[1]] <- letters[1:8]
apply(x, 2, mean, trim = .2,na.rm=TRUE)
?mean

BIN
Class8/Slides/1_join.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Class8/Slides/2_join.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
Class8/Slides/3_join.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
Class8/Slides/For_Loops.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
Class8/Slides/Function.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
Class8/Slides/If.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

171
Class8/Slides/Joins.tex Normal file
View File

@ -0,0 +1,171 @@
\documentclass{beamer}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{verbatim}
\usepackage{lipsum} % for placeholder text
\graphicspath{{pdf_images/}}
\title{ECON 4530/5530 \\ Computational Economics}
\subtitle{Joining data and Data Transformation}
\author{Alex Gebben}
\begin{document}
% Title Slide
\begin{frame}
\titlepage
\end{frame}
%%%%%%%%%%%%%%%%%%
\begin{frame}{Joining Data}
\begin{itemize}
\item Real-world data often comes in multiple tables.
\item Joins combine related data based on common keys.
\item \texttt{dplyr} provides intuitive functions for joining.
\end{itemize}
\end{frame}
% Slide 2
\begin{frame}{Types of Joins}
\begin{itemize}
\item \texttt{left\_join()} keep all rows from left table
\item \texttt{right\_join()} keep all rows from right table
\item \texttt{inner\_join()} keep only matching rows
\item \texttt{full\_join()} keep all rows from both tables
\end{itemize}
\end{frame}
% Slide 3
\begin{frame}{left\_join()}
\texttt{left\_join(df1, df2, by = "id")}
\newline
OR
\newline
\onslide<2->{\texttt{df1 \%>\% left\_join(df2)}}
\begin{itemize}
\onslide<3->{ \item Keeps all rows from the left table.}
\onslide<4->{ \item Adds matching rows from the right table.}
\onslide<5->{ \item Missing matches are filled with \texttt{NA}.}
\end{itemize}
\end{frame}
% Slide 4
\begin{frame}{right\_join()}
\texttt{right\_join(df1, df2, by = "id")}
\newline
OR
\newline
\onslide<2->{\texttt{df2 \%>\% left\_join(df1)}}
\onslide<3->{
\begin{itemize}
\item Keeps all rows from the right table.
\item Adds matching rows from the left table.
\end{itemize}
}
\end{frame}
% Slide 5
\begin{frame}{inner\_join()}
\texttt{inner\_join(df1, df2, by = "id")}
\newline
OR
\newline
\texttt{df1 \%>\% inner\_join(df2, by = "id")}
\begin{itemize}
\item Keeps only rows with matching keys in both tables.
\item Most commonly used for filtering to shared data.
\end{itemize}
\end{frame}
% Slide 6
\begin{frame}{full\_join()}
\texttt{full\_join(df1, df2, by = "id")}
\newline
OR
\newline
\texttt{df1 \%>\% full\_join(df2, by = "id")}
\begin{itemize}
\item Keeps all rows from both tables.
\item Missing matches are filled with \texttt{NA}.
\end{itemize}
\end{frame}
\begin{frame}{Common Issues}
\begin{itemize}
\item Mismatched column names
\item Duplicate keys can lead to unexpected row duplication
\item Data types must match, both keys should be character or numeric
\item Missing value joins will introduce \texttt{NA}s
\end{itemize}
\end{frame}
\begin{frame}[plain]
\includegraphics[width=\textwidth]{venn.png}
\end{frame}
\begin{frame}[plain]
\begin{columns}
\begin{column}{0.5\textwidth}
\includegraphics[width=\textwidth]{1_join}
\end{column}
\begin{column}{0.5\textwidth}
\includegraphics[width=\textwidth]{2_join}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[plain]
\includegraphics[width=\textwidth]{3_join}
\end{frame}
\begin{frame}[plain]
\includegraphics[width=\textwidth]{full.png}
\end{frame}
\begin{frame}[plain]
\includegraphics[width=\textwidth]{left.png}
\end{frame}
\begin{frame}[plain]
\includegraphics[width=\textwidth]{right.png}
\end{frame}
% Slide 7
\begin{frame}[plain]
\includegraphics[width=\textwidth]{match-types.png}
\end{frame}
\begin{frame}{Checking with Anti-Joins}
\includegraphics[width=\textwidth]{anti.png}
\end{frame}
\begin{frame}{Checking with Anti-Joins}
\includegraphics[width=\textwidth]{anti.png}
\end{frame}
\begin{frame}{Filtering with semi-joins}
\includegraphics[width=\textwidth]{semi.png}
\end{frame}
\begin{frame}{Other non-equa joins}
\includegraphics[width=\textwidth]{gte}
\end{frame}
% Slide 8
\begin{frame}{Best Practices}
\begin{itemize}
\item Inspect keys before joining: \texttt{unique()}
\item Use \texttt{anti\_join()} to find unmatched rows
\item Validate results with \texttt{summary()} and \texttt{count()}
\end{itemize}
\end{frame}
% Slide 9
\begin{frame}{Class Exercise}
\begin{itemize}
\item Joins are essential for combining data.
\item Choose the right join based on your goal.
\item Always check for common issues before and after joining.
\end{itemize}
\end{frame}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
Class8/Slides/anti.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
Class8/Slides/full.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
Class8/Slides/gte.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
Class8/Slides/left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
Class8/Slides/right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Class8/Slides/semi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
Class8/Slides/venn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB