编程教程 - 页 10

 

适合初学者的 R 编程:重命名变量和重新排序列。数据清理和操作。


适合初学者的 R 编程:重命名变量和重新排序列。数据清理和操作。

欢迎回来,爱好者们!在今天的教程中,我们将深入探讨 R 中重命名和重新排序列的令人兴奋的主题。这非常简单,所以坚持下去,准备好提升您的 R 编程技能。如果您热衷于学习 R 编程,那么您来对地方了。我们的 YouTube 频道涵盖广泛的编程主题,为您提供有价值的见解和教程。

为了演示该过程,我们将使用星球大战数据集。该数据集非常适合练习和遵循我今天向您展示的步骤。让我们首先在您的计算机上获取《星球大战》数据集,以便您可以逐步进行操作。

如果您还没有安装,则需要安装 tidyverse 软件包。该包是一个功能强大的 R 包集合,专为数据操作和分析而设计。安装后,您可以使用library()或require()函数加载tidyverse包并访问其功能。 tidyverse 包包含我们将使用的星球大战数据集。

让我们创建一个名为 SW 的新对象来处理 Star Wars 数据集。我们将使用赋值运算符 (<-) 将 Star Wars 数据集分配给 SW 对象。这使我们能够在不修改原始数据集的情况下进行更改和实验。按 Enter 执行代码,如果单击环境中的 SW 对象,您将看到显示的数据集。

现在,tidyverse 的奇妙功能之一是管道运算符 %>%,它允许我们将操作链接在一起。我们将使用它从数据集中选择特定列。例如,假设我们只需要名称、高度和质量列。我们可以使用 select() 函数并指定我们想要的列名称。按 Enter 执行代码,如果单击 SW 对象,您会注意到它现在仅包含选定的列。

如果我们想包含其他列,我们可以将它们添加到 select() 函数中。例如,如果我们想添加性别列,我们可以修改代码以选择(姓名,质量,身高,性别)。这样,生成的数据集将按照我们提供的顺序包含指定的列。

现在,假设我们要为各列指定不同的名称。这就是 rename() 函数派上用场的地方。使用管道运算符 %>%,我们可以将操作链接在一起。我们首先指定要分配给列的新名称,后跟 = 符号,然后是原始列名称。例如,我们将“质量”列重命名为“重量”。通过执行代码,您将看到 SW 数据集中的列名称已相应更改。

通过这种方式,您可以轻松地重命名列,甚至可以使用 select() 函数更改它们在数据集中的顺序。管道运算符 %>% 可以实现流畅的操作流程,从而增强代码的可读性和效率。

如果您真的想掌握数据分析和学习 R 编程,请务必点击订阅按钮并启用通知铃声。通过这样做,您将随时了解我们未来的视频,确保您不会错过有价值的内容。

感谢您成为我们编程社区的一员。我们希望您发现本教程内容丰富且引人入胜。保持好奇心,不断探索 R 编程的迷人世界!

R programming for beginners: Rename variables and reorder columns. Data cleaning and manipulation.
R programming for beginners: Rename variables and reorder columns. Data cleaning and manipulation.
  • 2020.05.08
  • www.youtube.com
This is an R programming for beginners video. Learn how to rename variables and reorder columns in R. If you want to use the Tidyverse in R to manipulate dat...
 

使用 R 编程重新编码数据。使用 tidyverse 和 dplyr 包创建新变量


使用 R 编程重新编码数据。使用 tidyverse 和 dplyr 包创建新变量

今天,我们将深入研究在 R 中重新编码数据这一有趣的话题。但首先,让我们澄清一下重新编码数据的含义。为了说明这个过程,我们将使用星球大战数据集。如果您已经在计算机上安装了 tidyverse 软件包,您将可以访问此数据集并可以在家中进行操作。

星球大战数据集由代表星球大战角色(如卢克·天行者、莱娅公主等)的行和代表各种变量(如姓名、身高、质量和性别)的列组成。我们的目标是将原始数据集转换为包含一些关键差异的新数据集。

在我们将创建的修改后的数据集中,有一些需要注意的更改。首先,高度列以米平方表示,而不是原始数据集中的厘米。其次,性别列使用“M”和“F”分别代表男性和女性,而不是原始值。此外,我们还从数据集中删除了所有缺失值。最后,我们创建了一个名为“尺寸”的新变量,根据特定标准(身高超过 1 米、体重超过 75 公斤)将角色分类为“大”或“小”。

首先,我们确保已加载 tidyverse 包,因为它提供了数据操作所需的功能。您只需安装该包一次,但您可以使用library()或require()函数为每个会话加载它。加载 tidyverse 包后,您还可以访问 Star Wars 数据集。

让我们创建一个名为 SW 的新对象来处理 Star Wars 数据集。我们将使用赋值运算符 (<-) 将 Star Wars 数据集分配给 SW 对象。这样,我们就可以在不修改原始数据集的情况下进行更改和执行操作。现在,让我们选择要使用的变量。为了实现这一点,我们将利用管道运算符 (%>%) 将操作链接在一起。

首先,我们将使用 select() 函数来选择我们想要的变量——姓名、质量和性别。此外,我们将使用 rename() 函数将“mass”变量重命名为“weight”。通过执行此代码,将保留所选变量,并且 SW 数据集中的“mass”列将被重命名为“weight”。

接下来,我们将解决缺失值的问题。尽管我们不会在这里详细介绍它,但在数据分析中适当处理缺失值非常重要。现在,我们只需从数据集中删除缺失的值。我们将在单独的视频中介绍处理缺失值的技术。

现在,让我们重点关注将“高度”变量从厘米转换为米。使用 mutate() 函数和管道运算符,我们将每个值除以 100 来修改“高度”列。此除法确保高度以米而不是厘米表示。

继续讨论“性别”变量,我们注意到它包含的值不仅仅是“男性”和“女性”,例如“MAphrodite”。为了解决这个问题,我们希望过滤数据集并仅保留具有“男性”和“女性”值的观察结果。我们将演示两种过滤方法。第一种方法涉及使用 filter() 函数并指定保留“男性”或“女性”性别观察值的条件。第二种更优雅的方法是使用 %in% 运算符进行串联,以保留具有“男性”或“女性”值的观察结果。两种方法产生相同的结果——数据集中仅保留“男性”和“女性”观察结果。

一旦我们过滤了“性别”变量,我们就可以继续对“性别”变量中的值进行重新编码。目前,它包含“male”和“female”值,但我们希望分别将它们表示为“M”和“F”。为了实现这一点,我们将使用 mutate() 函数和 recode() 函数。

在 recode() 函数中,我们将指定要重新编码的变量,在本例中为“性别”。然后,我们将使用语法 old_value = new_value 分配新值。在我们的例子中,我们将“male”设置为“M”,将“female”设置为“F”。

通过执行此代码,SW 数据集中的“性别”变量将被更新,分别用“M”和“F”替换“male”和“female”。

最后,我们将根据某些条件创建一个名为“size”的新变量。 “size”变量将根据字符的高度和重量将字符分类为“大”或“小”。我们将再次使用 mutate() 函数和管道运算符。

在 mutate() 中,我们将通过定义其条件来创建“size”变量。我们将使用逻辑运算符来检查身高是否大于一米且体重是否大于 75 公斤。如果满足条件,我们将为相应的观察分配“big”;否则,我们将分配“小”。这是使用 mutate() 中的 if_else() 函数实现的。

执行此代码后,“size”变量将被添加到 SW 数据集中,指示每个角色根据身高和体重被分类为“大”还是“小”。

总之,如果您对数据分析充满热情并渴望学习 R 编程,那么您来对地方了。点击订阅按钮并单击通知铃以了解未来视频的最新动态。

Recoding data using R programming. Using the tidyverse and dplyr packages to create a new variable
Recoding data using R programming. Using the tidyverse and dplyr packages to create a new variable
  • 2020.05.15
  • www.youtube.com
This video is about how to recode data and manipulate data using R programming. It is really an R programming for beginners videos. It provides a demonstrati...
 

使用 R 编程的 10 个数据过滤技巧。使用 tidyverse 来过滤和子集数据。


使用 R 编程的 10 个数据过滤技巧。使用 tidyverse 来过滤和子集数据。

在本视频中,我们将探讨如何使用 Filter 函数在 R 中过滤数据。过滤允许我们根据某些标准提取特定的数据子集。为此,我们将使用 tidyverse 包,它提供了一套强大的 R 数据操作和分析工具。在深入研究过滤器函数之前,我们先简要讨论一下基础知识。

设置环境:
首先,我们需要使用库函数加载 tidyverse 包。 tidyverse 软件包包括 tidyverse 生态系统,它扩展了 R 的词汇和功能。如果您不熟悉 tidyverse,我建议您观看我的软件包视频以更好地理解。

探索数据:在本演示中,我们将使用“msleep”数据集,该数据集作为内置数据集包含在 tidyverse 包中。 “msleep”数据集包含有关不同哺乳动物的信息,包括姓名、睡眠总量、体重和脑重量等变量。该数据集将作为我们过滤的实践数据。

创建数据子集:要创建数据子集,我们首先复制“msleep”数据集,并使用赋值运算符“=”将其分配给名为“my_data”的新对象。

my_data <- msleep

选择变量:接下来,我们将选择要使用的特定变量。在本例中,我们对“name”和“sleep_total”列感兴趣。我们使用 select 函数来选择这些列,并使用赋值运算符将结果存储回“my_data”对象中。

my_data <- my_data %>% select(name, sleep_total)

过滤数据:现在是主要部分,过滤功能。我们将使用此函数根据特定条件从数据集中提取行。我们可以通过多种方式使用过滤器功能,我将向您介绍十个不同的示例。

按单一标准过滤:
首先,我们过滤数据,仅包含睡眠总数超过 18 的哺乳动物。我们使用过滤函数并将条件指定为“sleep_total > 18”。

my_data <- my_data %>% filter(sleep_total > 18)

使用“!”进行过滤操作员:
我们还可以使用“!”运算符来过滤给定条件的相反条件。在这种情况下,我们将过滤掉睡眠总数小于 18 的哺乳动物。

my_data <- my_data %>% filter(!(sleep_total < 18))

使用“and”根据多个标准进行过滤:
我们可以通过使用逻辑“与”运算符(“,”)组合多个条件来过滤数据。例如,我们提取目为“灵长类”且体重大于 20 的哺乳动物。

my_data <- my_data %>% filter(order == "primate", body_weight > 20)

使用“或”基于多个标准进行过滤:
在某些情况下,我们可能希望提取至少满足多个条件之一的行。我们可以使用逻辑“或”运算符(“|”)来实现这一点。例如,让我们提取牛、狗或山羊等哺乳动物。

my_data <- my_data %>% filter(name == "cow" | name == "dog" | name == "goat")

使用串联进行过滤:
我们可以创建值的串联并在过滤器函数中使用它,而不是单独指定每个标准。这种方法提供了一种更优雅的过滤多个值的方法。例如,我们可以通过创建名称向量并在过滤器函数中使用它来进行过滤,如下所示:

names_to_filter <- c("cow", "dog", "goat")
my_data <- my_data %>% filter(name %in% names_to_filter)

使用“之间”运算符进行过滤:
我们可以使用“ Between ”运算符根据一系列值来过滤行。让我们过滤数据,仅包含睡眠总数在 16 到 18(含)之间的哺乳动物。

my_data <- my_data %>% filter(between(sleep_total, 16, 18))

过滤接近特定值的值:
如果我们想过滤变量中接近特定值的观测值,我们可以使用“near”函数。例如,让我们过滤数据以包括睡眠总数接近 17 且容差为 0.5 的哺乳动物。

my_data <- my_data %>% filter(near(sleep_total, 17, tolerance = 0.5))

过滤缺失值:
要过滤特定变量缺少值的行,我们可以使用“is.na”函数。让我们过滤数据,仅包含“保护”变量中缺少值的哺乳动物。

my_data <- my_data %>% filter(is.na(conservation))

过滤非缺失值:
相反,如果我们想过滤掉特定变量中缺失值的行,我们可以使用“!”运算符以及“is.na”函数。让我们过滤数据以排除“保护”变量中缺少值的哺乳动物。

my_data <- my_data %>% filter(!is.na(conservation))

结论:通过利用过滤功能和各种过滤技术,我们可以根据我们的标准提取特定的数据子集。过滤使我们能够专注于相关观察并促进进一步分析。请记住尝试不同的标准和组合,以满足您特定的数据过滤需求。

如果您发现此视频很有帮助,并且想要了解有关数据分析和 R 编程的更多信息,请务必订阅此频道并启用通知,以便在未来的视频中保持更新。

10 data filtering tips using R programming. Use the tidyverse to filter and subset your data.
10 data filtering tips using R programming. Use the tidyverse to filter and subset your data.
  • 2020.05.22
  • www.youtube.com
In this video you'll learn 10 different ways to filter and subset your data using R programming. This is an R programming for beginners video and forms part ...
 

使用 R 编程探索您的数据


使用 R 编程探索您的数据

各位编程爱好者大家好!我叫 Greg Martin,欢迎您回到我们的编程 101 课程。今天,在深入进行任何数据分析之前,我们将讨论数据探索的关键主题。了解您正在使用的数据至关重要。您需要掌握数据集或数据框的维度、参数和大小。此外,您应该了解变量的数量及其特征。这一步非常重要而且非常简单,所以让我们一起来做吧。

如果您来这里学习编程,那么您来对地方了。在此 YouTube 频道上,我们制作涵盖广泛主题的编程视频。

现在,我首先要说的是我使用 Tidyverse 中的函数和包。如果您不熟悉 Tidyverse,我建议您观看我的其他视频之一,解释其重要性。在计算机上安装 Tidyverse 会带来 Tidyverse 中的软件包附带的所有功能、功能和扩展词汇。随着我们的进展,我将提到其中一些包。

重要的是,Tidyverse 还包含各种内置数据集,您可以使用它们来练习数据分析。这特别有用,稍后我们将使用这些附加数据集之一,称为“星球大战”。星球大战数据集有点混乱,包含缺失数据和其他问题,这使其成为探索和清理数据的绝佳示例。

首先,您始终可以使用问号后跟函数或数据集名称来访问文档并获取有关该特定数据集的信息。例如,通过输入“?star wars”并按 Enter 键,您可以访问有关 Star Wars 数据集中存在的变量的信息。

现在,让我们继续讨论一些特定的函数。我们要学习的第一个函数是“dim”,它代表维度。通过使用命令“dim(star wars)”并按 Enter,我们可以确定数据集有 87 行或观测值和 13 个变量。

用于理解数据帧结构的另一个常用函数是“str”(结构)。然而,当我们直接应用“str(star wars)”时,由于数据集中存在列表,我们会遇到一些混乱的输出。列表表示变量,其中每个观察可以是包含各种数据点甚至整个数据框的单独列表。为了使输出更具可读性,我们可以使用 Tidyverse 中的“glimpse”函数。因此,通过输入“glimpse(star wars)”并按 Enter 键,我们可以更清晰地显示数据集的结构,包括观测值、变量及其类型的数量。

要查看数据集本身,您可以通过输入“view(star wars)”并按 Enter 键来使用“查看”功能。这将打开一个窗口,以整齐且有组织的格式显示数据集,其中列代表变量,行代表观察结果。

此外,您可以使用“head”和“tail”函数分别快速查看数据集的第一行和最后几行。例如,“head(star wars)”将显示前六行,“tail(star wars)”将显示最后六行。

要访问数据集中的特定变量,可以使用“$”运算符。例如,通过输入“star wars$name”并按 Enter 键,您可以直接访问“name”变量。

另一个有用的函数是“名称”,它允许您检索数据集中的变量名称。通过输入“names(star wars)”并按 Enter 键,您将获得所有存在的变量的列表。这在代码中引用变量时非常有用,因为它有助于避免拼写错误并确保准确性。

此外,“长度”函数可用于确定数量。

“长度”函数可用于确定数据集中变量的数量。例如,通过输入“length(names(star wars))”并按 Enter 键,您可以找出 Star Wars 数据集中存在的变量总数。

数据探索的另一个重要方面是理解变量的数据类型。函数“class”可用于确定变量的类或数据类型。例如,如果您想知道星球大战数据集中“name”变量的数据类型,可以输入“class(star wars$name)”并按 Enter。

您还可以使用“summary”函数来获取数据集中数值变量的汇总统计信息。例如,如果您想获取“height”变量的摘要,可以输入“summary(star wars$height)”并按 Enter。

要根据特定条件对数据集进行过滤和子集化,可以使用“过滤器”功能。此功能允许您指定逻辑条件来选择满足特定条件的行。例如,如果要过滤星球大战数据集以仅包含高度大于 150 的字符,则可以键入“filter(star wars, height > 150)”并按 Enter 键。

此外,您可以使用“选择”功能从数据集中选择特定变量或列。当您想要专注于分析的变量子集时,这非常有用。例如,如果您只想从星球大战数据集中选择“name”和“height”变量,则可以键入“select(star wars, name, height)”并按 Enter。

探索数据还涉及检查变量的分布。 Tidyverse 提供了“ggplot2”包,它提供了强大的数据可视化功能。您可以使用“ggplot”和“geom_histogram”等函数来创建直方图以可视化数值变量的分布。例如,要创建星球大战数据集中“高度”变量的直方图,可以使用以下代码:

library(ggplot2)
ggplot(star wars, aes(x = height)) +
  geom_histogram()

此代码将生成一个直方图,显示星球大战数据集中字符高度的分布。

如果您尚未安装所需的软件包,请记住安装。您可以使用“install.packages”函数来安装软件包。例如,要安装 ggplot2 包,您可以输入“install.packages('ggplot2')”并按 Enter。

这些是您可以在 R 中用于数据探索的一些基本函数和技术。通过了解数据集的结构、维度、变量和数据类型,您可以获得宝贵的见解,帮助指导您的数据分析过程。

Explore your data using R programming
Explore your data using R programming
  • 2021.12.03
  • www.youtube.com
When doing data analysis, you need to start with a good understanding of you data. To explore your data, R has some fantastic and easy to use functions. In t...
 

Clean your data with R. R programming for beginners.


Clean your data with R. R programming for beginners.

Welcome back! Today, we're diving into the topic of data cleaning. When working with data, many people are eager to jump into statistical analysis right away. However, it's important to take a systematic approach to ensure accurate and reliable results. In this video, we will walk you through the process of cleaning your data, which is a crucial step before analysis.

First, let's start by exploring your data. I've covered this topic in a previous video, so make sure to check it out if you haven't already. Data exploration helps you get familiar with the structure and content of your dataset. Once you have a good understanding of your data, you can move on to cleaning it.

So, what do we mean by cleaning your data? Well, there are a few key tasks involved. Firstly, it's important to ensure that each variable is categorized correctly. You may need to make adjustments and change variable types as needed. I'll show you how to do this shortly.

Next, you might want to select the variables you want to work with and filter out any unwanted rows or observations. This step is particularly important when dealing with large datasets. It allows you to focus on the specific data that is relevant to your analysis.

Another important aspect of data cleaning is handling missing data. We'll discuss techniques for finding and dealing with missing values in this video. Additionally, we'll cover how to identify and handle duplicates, as well as how to recode values if necessary.

Before we proceed, let me mention that when working with R, I always use the tidyverse packages. The tidyverse is a collection of packages that extends the functionality of R and provides a wide range of useful functions. If you haven't already, make sure to install and load the tidyverse packages.

Now, let's talk about the datasets we'll be using. R comes with built-in datasets that you can use for practice and learning. In this lesson, we'll be using the Star Wars dataset, which becomes available once you've installed the tidyverse. You can access these datasets by typing "data()" and exploring the available options. For example, you can view the Star Wars dataset by typing "view(starwars)".

Now, let's focus on variable types. It's important to ensure that each variable is correctly identified and categorized. To explore the variable types in the Star Wars dataset, we can use the "glimpse(starwars)" function. This will provide a summary of the dataset, including the variable names and types.

In some cases, you may want to convert a character variable into a factor variable. Factors are categorical variables that can have predefined levels or categories. To do this, you can use the "as.factor()" function. For example, to convert the "gender" variable in the Star Wars dataset into a factor, you can use the code "starwars$gender <- as.factor(starwars$gender)". This will change the variable type and update the dataset accordingly.

If you need to specify the levels or categories of a factor variable, you can use the "levels()" function. For instance, if you want to change the order of levels in the "gender" variable, you can use the code "levels(starwars$gender) <- c('masculine', 'feminine')". This allows you to customize the order of the categories based on your specific needs.

Next, let's discuss selecting variables and filtering rows. In R, you can use the "select()" function to choose the variables you want to work with. For example, you can select variables like "name" and "height" from the Star Wars dataset by using the code "select(starwars, name, height, ends_with('color'))".

To filter rows satisfied. But that's not what we want in this case. We want to include observations that have either blonde or brown hair color. Therefore, we use the logical operator "or" (represented by |) to specify that the observation should meet either one of the conditions.

Now, let's move on to the next part of data cleaning, which is dealing with missing data. Missing data can occur in datasets for various reasons, and it's important to handle them appropriately. In the case of the Star Wars dataset, we can check for missing values by using the is.na() function.

To find and deal with missing data, we can add another step to our code:

star_wars_filtered <- star_wars %>% select(name, height, ends_with("color")) %>% filter(hair_color %in% c("blonde", "brown")) %>% filter(!is.na(height))

In this code, we first select the desired variables (name, height, and variables ending with "color"). Then we filter for hair color values that are either "blonde" or "brown". Finally, we use the !is.na(height) condition to exclude any observations where the height value is missing.

Next, let's address the issue of duplicates in the dataset. Duplicates can occur when there are multiple identical observations in the dataset. To find and deal with duplicates, we can add another step to our code:

star_wars_filtered <- star_wars_filtered %>% distinct()

In this code, we use the distinct() function to remove duplicate observations from the star_wars_filtered dataset, ensuring that each observation is unique.

Lastly, let's discuss how to recode values in the dataset. Sometimes, we may need to modify the values of certain variables to better suit our analysis. In this case, let's say we want to recode the hair color variable to have "blonde" as 1 and "brown" as 2. We can achieve this by adding another step to our code:

star_wars_filtered <- star_wars_filtered %>% mutate(hair_color = recode(hair_color, "blonde" = 1, "brown" = 2))

Here, we use the mutate() function along with the recode() function to modify the values of the hair_color variable. We specify that "blonde" should be recoded as 1 and "brown" as 2.

Now, we have completed the data cleaning process. We have selected the desired variables, filtered out unwanted observations, dealt with missing data, removed duplicates, and recoded values if necessary.

Remember, these are just some basic steps in the data cleaning process, and the specific steps may vary depending on the dataset and analysis requirements. However, following a systematic approach like this can help ensure that your data is in a clean and suitable format for further analysis.

I hope this explanation helps you understand the process of cleaning your data.

Clean your data with R. R programming for beginners.
Clean your data with R. R programming for beginners.
  • 2021.12.15
  • www.youtube.com
If you are a R programming beginner, this video is for you. In it Dr Greg Martin shows you in a step by step manner how to clean you dataset before doing any...
 

操纵您的数据。数据争论。适合初学者的 R 编程。


操纵您的数据。数据争论。适合初学者的 R 编程。

欢迎回到我们的编程系列的另一个激动人心的视频。今天,我们将深入探讨操作数据框、数据集或数据的主题。数据整理,也称为“数据篡改”,可以很有趣。这是我们系列的第三部分,我们探讨数据探索、清理、操作、描述、总结、可视化和分析的各个方面。当您遇到新数据集时,这些是数据管道中的重要步骤,可帮助您理解所拥有的数据。

在本视频中,我们将介绍一系列技术。其中一些您可能已经熟悉,而另一些对您来说可能是陌生的。我们会快速移动,因此您可以根据需要随意暂停、倒带和查看视频。我将展示的大多数示例和演示都可以轻松地在您自己的计算机上复制。您无需下载任何其他数据或在线搜索。 R 中的内置数据帧将作为我们整个视频的练习数据集。

但在继续之前,让我们确保您已经安装了 tidyverse 库。我不会在这里介绍安装过程,但如果您不熟悉它,我建议观看我的软件包视频。 tidyverse 库由多个包组成,提供一系列数据操作和分析功能。安装后,您可以使用命令库(tidyverse)加载该库,这使您可以访问 R 中的所有包及其扩展词汇。此外,tidyverse 还包括我们可以用于练习的预加载数据集。要查看可用的数据集,您可以使用命令 data(),它将显示您的计算机上可访问的数据集的列表。

好啦,接下来我们就进入正文吧。我们将使用“m_sleep”数据集进行演示。如果您对数据集的详细信息感到好奇,可以使用命令 ?m_sleep 获取有关数据集中每个变量的摘要和信息。或者,我们可以使用 tidyverse 中的glimpse 函数来获取数据集的简明概述,包括变量名称、类型和一些示例观察结果。

现在,让我们开始第一课:重命名变量。使用 tidyverse 中的重命名功能可以轻而易举地重命名变量。我们通常遵循管道方法,从数据集开始,然后使用管道运算符 %>% 应用转换。要重命名变量,我们在等号之前指定新名称,后跟重命名函数中的现有名称。例如,我们可以使用 rename(conserve =servation) 将变量“conservation”重命名为“conserve”。运行代码后,我们可以观察数据集中更新后的变量名称。

继续,让我们探讨如何重新排序变量。如前所述,我们之前讨论过 select 函数,它允许我们选择特定的变量。但是,值得注意的是,select 函数中变量的顺序决定了它们在结果数据集中的顺序。通过以所需的顺序指定变量名称并用逗号分隔,我们可以相应地重新排列变量。例如, select(var1, var2, ..., everything()) 将首先选择“var1”和“var2”,然后按原始顺序选择其余变量。

接下来,让我们讨论更改变量类型。我们之前已经讨论过这个主题,但让我们简要回顾一下这个过程。使用基本 R 函数类,我们可以确定变量的当前类型。例如,class(m_sleep$var) 会将变量类型显示为“字符”。出于可读性目的将变量的类型更改为新行,但如果您愿意,也可以将其全部写在一行中。现在,让我们将过滤器应用到数据框。

filtered_data <- m_sleep %>% filter ( order == "Carnivora" | order == "Primates" )

在此示例中,我们过滤了数据框 m_sleep 以仅包含顺序变量为“Carnivora”或“Primates”的观察结果。生成的数据子集存储在filtered_data 对象中。

继续排列数据,我们可以使用排列函数。该函数允许我们根据一个或多个变量对数据框的行进行排序。让我们按 vore 变量按降序对filtered_data 进行排序。

arranged_data <- filtered_data %>% arrange ( desc ( vore ) )

在这里,我们使用带有参数 desc(vore) 的排列函数,该函数根据 vore 变量按降序对数据帧进行排序。生成的排列数据存储在排列数据对象中。

现在,让我们介绍一下重新编码数据。重新编码涉及根据某些条件更改变量的值。我们可以使用 mutate 函数和 if_else 函数来完成此操作。

recoded_data <- arranged_data %>% mutate ( vore = if_else ( vore == "carni" , "Carnivorous" , "Omnivorous" ) )

在这个例子中,我们在arranged_data数据框中重新编码了vore变量。我们将值“carni”替换为“Carnivorous”,并将所有其他值替换为“Omnivorous”。修改后的数据帧存储在 recoded_data 对象中。

接下来,让我们探索使用 mutate 函数更改数据。我们可以创建新变量或修改现有变量。这是一个例子:

modified_data <- recoded_data %>% mutate ( new_variable = vore == "Carnivorous" & awake > 10 )
在本例中,我们创建了一个名为 new_variable 的新变量。它的值基于vore等于“Carnivorous”且awake变量大于10的条件。修改后的数据帧存储在modified_data对象中。

最后,让我们讨论重塑数据框架。重塑涉及将数据帧的结构从宽更改为长,反之亦然。 tidyverse 包中的pivot_longer 和pivot_wider 函数对于此任务很有用。这是一个例子:

reshaped_data <- modified_data %>% pivot_longer ( cols = c ( vore , awake , sleep_total ) , names_to = "variable" , values_to = "value" )

在此示例中,我们将数据帧从宽格式转换为长格式。我们选择变量 vore、awake 和 sleep_total 进行透视。生成的数据框有两个新列:变量和值,分别存储变量名称和相应的值。

这就是本教程的内容!我们介绍了操作数据框的各个方面,包括重命名变量、重新排序变量、更改变量类型、选择变量、过滤和排列数据、重新编码数据、使用 mutate 更改数据以及重塑数据框。请记住,您可以使用 R 中的内置数据框练习所有这些概念。快乐的数据争论!

Manipulate your data. Data wrangling. R programmning for beginners.
Manipulate your data. Data wrangling. R programmning for beginners.
  • 2022.01.19
  • www.youtube.com
If you are learning to use R programming for data analysis then you're going to love this video. It's an "R programming for beginners" video that deals with ...
 

描述并总结您的数据


描述并总结您的数据

欢迎回到 R101!在本次会议中,我们将讨论如何描述和总结您的数据。今天的主题非常简单,所以跟着我,你会学到很多东西。本次会议是我们探索、清理、操作、描述和总结数据系列的一部分。下一个视频将介绍数据的可视化和分析。那么,让我们开始吧。

在本视频中,我们将介绍数据描述和总结的各个方面。首先,在处理数值变量时,我们使用特定的统计参数来描述它们。其中包括范围、分布、中心性和方差。不用担心;我们将以超级简单的方式了解这些概念,大约只需要 30 秒。

接下来,我们将学习如何总结整个数据集。我将分享一些有效总结数据的提示和技巧。同样,这将只需要大约 30 秒。

然后,我们将专注于创建表格来汇总我们的数据。表格是有效呈现和总结信息的绝佳方式。我们将学习如何创建总结数值变量的表格和总结分类变量的列联表。我将向您展示一些示例,您会发现它非常容易理解。

为了让您了解我们的目标,我在屏幕上显示了一个示例表格。该表讲述了一个引人入胜的故事并描绘了清晰的数据图景。它是使用 R 中的“formattable”包创建的,它允许您创建漂亮的表格。然而,在我们深入创建具有视觉吸引力的表格之前,确保数据结构正确至关重要。关键是数据的格式要能够让您有效地讲述故事和呈现图片。

现在,让我们继续讨论该视频的主要主题。如果您有兴趣学习 R 编程,那么您来对地方了。在此 YouTube 频道上,我们制作涵盖广泛主题的编程视频。

首先,如果您还没有安装,请确保安装必要的软件包。我们始终使用“tidyverse”包,它扩展了 R 的词汇量和功能。它们提供了有用的工具,例如我们将在本视频中使用的管道运算符。如果您不熟悉 tidyverse 及其中的软件包,我建议您观看我的有关软件包的视频。

在我们的示例中,我们将使用您可以在计算机上访问的公开数据。通过使用这些数据,您可以练习分析、编码和数据整理技能。 R 提供了各种数据集,您可以使用“数据”函数访问它们。我们将专门处理本视频中的“msleep”数据集。您可以在家中的计算机上复制我显示的步骤。如果运行命令“view(msleep)”,您可以看到数据集的结构。它包含草食动物、肉食动物、杂食动物、睡眠时间、脑重量等变量。这是一个很棒的数据集。

首先,我们总结一下数据集中的数值变量。我们将重点关注统计参数,例如最小值、最大值、极差、四分位距、均值、中值和方差。要获取这些值,您可以使用 R 中的“summary”函数。通过运行“summary(msleep)”,您将看到所有变量以及相应参数的摘要。如果您想专注于特定统计数据,您还可以对单个变量使用“摘要”。

现在,假设我们只想选择变量“sleep_total”和“brain_weight”并对它们进行总结。您可以通过使用 tidyverse 包中的“select”函数选择变量来实现此目的。

现在让我们介绍第二个分类变量,即“安全气囊”。我们可以再次使用表函数,但这次我们将在函数中包含两个变量。这是代码:

table ( cars $origin , cars $airbags )

当我们运行此代码时,我们会获得一个列联表,其中显示两个分类变量之间的组合频率。它将显示如下内容:

airbags origin None Driver Driver & Passenger non-us 15 20 10 us 25 30 20

例如,该表告诉我们,有 15 辆非美国产汽车没有安全气囊,20 辆汽车仅配有驾驶员安全气囊,还有 10 辆汽车配有驾驶员和乘客安全气囊。同样,美国有 25 辆汽车没有安全气囊,30 辆汽车仅配有驾驶员安全气囊,20 辆汽车同时配有驾驶员和乘客安全气囊。

现在让我们看看如何使用 tidyverse 方法获得相同的结果。我们将使用 count 和pivot_wider 函数。这是代码:

library (tidyverse) cars %>% count (origin, airbags) %>% pivot_wider (names_from = airbags, values_from = n)

这段代码跟随管道运算符%>%执行一系列操作。首先,我们使用 count 来计算原点和安全气囊之间的组合频率。然后,我们应用pivot_wider来重塑数据,将不同类型的安全气囊分成单独的列。生成的表格看起来与基本 R 代码生成的表格类似。

这些示例演示了如何使用基本 R 和 tidyverse 方法来汇总和创建表格来描述数据。选择适合您的偏好和分析的具体要求的方法非常重要。

Describe and Summarise your data
Describe and Summarise your data
  • 2022.02.01
  • www.youtube.com
If you want to learn about to summarise your data by making tables in R or provide descriptive statistics of your dataset, then this video is for you. R prog...
 

一小时 R 编程 - 初学者速成课程


一小时 R 编程 - 初学者速成课程

该视频教程为初学者提供了 R 编程速成课程。它涵盖了 R 的基础知识和访问内置数据集、数据操作技术、使用概览和完整案例等功能进行数据探索、数据清理技术(例如子集和重命名)、使用图形语法的数据可视化技术、T 测试、方差分析和卡方检验、线性模型以及如何重塑数据框。讲师强调探索数据集的重要性,并讨论使数据分析和可视化更加直观的工具,例如 tidy verse 和 ggplot2 包。该视频最后演示了使用“汽车”数据集的卡方检验和线性模型,重点是解释输出。

  • 00:00:00 演讲者概述了他们将在本教程中涵盖的内容,这是针对 R 编程初学者的速成课程。该课程将包括 R 的基础知识,探索和访问内置数据集,通过清理、选择、过滤和重塑数据来操作数据,使用数值变量描述数据,使用不同类型的图可视化数据,以及使用假设分析数据测试和各种测试,如 t 检验、方差分析、卡方和线性模型。此外,演讲者还解释了 RStudio 的四个象限,重点关注控制台和环境,以及如何使用问号命令和 Stack Overflow 等社区资源获取帮助。最后,演讲者演示了如何通过为对象分配值并对它们应用简单的函数来使用 R 作为计算器。

  • 00:05:00 讲师介绍了数据框,可以通过使用 R 中的“data.frame”函数组合变量来创建数据框。他展示了如何创建数据框以及如何使用“view”和“ str”函数。讲师还解释了如何使用符号“行、列”对数据框的特定部分进行子集化,并演示了如何使用 R 中的内置数据集。此外,他还介绍了 tidy verse,这是扩展包的集合。向 R 用户提供了可用的词汇和数据集,并演示了如何使用管道运算符以及 filter 和 mutate 等函数来使数据分析和可视化更加直观。

  • 00:10:00 讲师以“m sleep”数据集为例谈论探索数据集。他演示了如何使用各种函数(例如瞥见、长度、名称、唯一和完整案例)来概述数据的结构、维度和唯一值。他还展示了如何创建一个名为“missing”的对象,其中包含所有具有缺失数据的行。讲师强调探索数据集以更好地理解其内容以及如何利用它进行分析的重要性。他还感谢 Nested Knowledge(一个支持研究过程的平台)赞助该视频。

  • 00:15:00 演讲者介绍了使用 R 编程的数据清理技术,例如使用 select 函数选择变量并更改其顺序、使用 rename 函数重命名变量以及使用 as character 和 mutate 函数更改变量类型。演讲者还解释了如何更改因子水平以及如何使用过滤器功能根据特定标准选择特定观测值。

  • 00:20:00 讲师讨论如何使用重新编码功能按质量小于 55 和性别为男性等条件过滤数据。他们继续演示如何处理丢失的数据并使用 unique 函数从数据框中删除重复项。讲师还介绍了如何改变数据,既可以覆盖现有变量,也可以使用 if else 函数根据条件语句创建新变量。最后,他们介绍了重塑数据的概念,并展示了如何使用间隙管理器包来操作数据集。

  • 00:25:00 讲师解释如何使用更宽的透视和更长的透视函数重塑数据框。首先,创建一个数据框,然后使用数据透视更宽函数对其进行重塑,以便年份成为列标题,并且预期寿命位于单元格内。然后反向运行代码以创建长数据帧。然后,讲师演示如何通过计算平均值、中位数和四分位数范围,使用数值变量(例如哺乳动物的醒来时间)来汇总数据。最后,教师提供了一个代码,用于按类别对数据进行分组并计算每组的统计值,例如最小值和最大值、它们之间的差异以及平均值。

  • 00:30:00 讲师从“图形语法”概念开始,介绍了 R 中的数据可视化。这涉及了解如何根据 x 轴和 y 轴、颜色、形状和大小等美学来绘制数据,以及如何应用折线图、条形图和直方图等几何图形来生成绘图。还引入了 ggplot 包作为创建更复杂图形的工具。讲师提供了用于创建基本绘图的示例代码,并讨论了美学和几何如何相互作用以产生最终结果。

  • 00:35:00 演讲者讨论如何使用 ggplot2 创建不同类型的绘图。他们首先在 ggplot 中定义数据和映射,然后添加条形图和直方图等几何图形。他们还演示了如何通过管道输入数据以及如何在创建绘图之前对其进行操作。然后,他们更进一步,添加美学和色彩,根据类别使用不同的色调进行绘图。该视频还包括对主题和标签的简短讨论,并自始至终使用星球大战数据集中的示例。

  • 00:40:00 视频教程演示了如何使用“ggplot2”创建散点图并使用“geom_smooth”添加附加层。通过将“facet_wrap”与“sex”变量结合使用,本教程展示了如何查看不同方面的散点图。本节还介绍了使用 T 检验、方差分析、卡方检验和线性模型进行假设检验,并以“gap-minder”数据集为例,其中包括预期寿命、人口、人均 GDP 以及其他因素的数据。不同的国家和地区。本教程解释了如何使用 T 检验来检验非洲和欧洲之间预期寿命的差异,假设没有差异作为原假设。

  • 00:45:00 这称为 Tukey 的诚实显着差异测试,它比较所有可能的均值对,以查看是否存在任何显着差异。在这个例子中,我们可以看到三大洲之间存在显着差异,欧洲的预期寿命最高,非洲的预期寿命最低。调整后的 p 值有助于我们通过考虑多重比较来避免得出错误的结论。总体而言,t 检验和方差分析是分析 R 中各组之间差异的强大工具。

  • 00:50:00 讲师演示了对不同品种鸢尾花数据集的统计分析。第一个分析是卡方拟合优度检验,以确定属于小、中和大类别的虹膜的比例是否相等。检验结果显示比例不相等,拒绝原假设。第二个分析是卡方独立性检验,它确定一个变量的值是否依赖于另一个变量的值。在本例中,分析是针对鸢尾花的大小和种类进行的。从结果可以看出,两个变量之间存在相关性,拒绝原假设。

  • 00:55:00 讲师使用 R 中的“汽车”数据集回顾了一个简单的线性模型,并解释了如何解释输出。最佳拟合线是使用 y 轴截距和斜率创建的,y 轴截距在这种情况下没有意义,但对于绘制线条是必要的。 3.9 的斜率很重要,代表速度每增加一个单位所需的额外距离,并且 p 值为 0.00(统计上极其显着),拒绝了速度和距离之间没有关系的零假设。 R 平方值 0.65 表示停车距离的变化有多少可以由汽车的速度来解释。输出还包括残差和系数,其中斜率是最重要的。讲师提供免费数据可视化备忘单的链接,并鼓励观众点赞、评论和订阅。
R programming in one hour - a crash course for beginners
R programming in one hour - a crash course for beginners
  • 2022.04.27
  • www.youtube.com
R programming is easy. In this video, I'll walk you though how to clean your data; how to manipulate (or wrangle) your data; how to summarize your data; how ...
 

使用 R 编程进行卡方检验


使用 R 编程进行卡方检验

今天,我们将深入探讨卡方检验的主题,特别关注拟合优度检验。这个测试超级简单,所以跟着我一起探索吧。

首先,确保您安装了 tidyverse 软件包。如果您不熟悉 tidyverse,可以查看我的其他视频以了解更多信息。 tidyverse 是 R 包的集合,它扩展了 R 的词汇量并使数据分析更加高效。此外,我们还需要“forcats”包,它提供了处理分类变量的扩展功能。在本课中,我们将使用“forcats”包附带的“GSS_cat”数据集。

安装软件包后,让我们看一下“GSS_cat”数据集。它包含各种变量,其中之一是“婚姻状况”。我们将重点关注这个变量进行分析。为了了解不同婚姻状况的比例,我在屏幕右侧创建了一个绘图,显示“从未结婚”、“离婚”和“已婚”类别。从图中我们可以观察到比例似乎有所不同。

现在,让我们继续进行卡方检验。该测试的目的是确定从未结婚、离婚或已婚的人口比例是否存在显着差异。我们的零假设假设没有差异,我们想要检查数据是否支持这个假设。

在进行测试之前,我要感谢我们的赞助商 Native Knowledge。它们是一个促进系统文献综述和荟萃分析的在线平台。一定要检查一下;他们太棒了!

现在,让我们进入代码。我在屏幕上提供了一些用于数据清理和准备的代码。它涉及过滤数据,仅包括“从未结婚”和“离婚”类别,并删除不必要的因素。如果您想自己复制此分析,请随意复制代码。运行代码后,您将获得一个漂亮、整洁的数据集,其中包含一个变量。

现在是令人兴奋的部分——进行卡方检验。为了应用测试,我们需要创建一个数据表。我创建了一个名为“my_table”的新对象,并使用我们准备好的数据集作为参数为其分配了表函数。当我们运行代码并查看“my_table”时,我们可以看到一个表格,其中数据整齐地呈现。

接下来,我们可以使用“chisq.test”函数简单地将卡方检验应用于我们的表。在“my_table”上运行此函数将为我们提供测试结果,包括 p 值。在这种情况下,我们获得了一个非常小的 p 值,这表明如果类别具有相同的比例,则极不可能观察到观察到的比例差异。因此,我们可以拒绝等比例的零假设,并得出婚姻状况之间存在统计显着差异的结论。

如果您喜欢更简洁的方法,我们可以使用 tidyverse 包中的管道运算符(“%>%”)获得相同的结果。通过将数据直接输入表中,然后输入卡方检验,我们可以简化代码并获得相同的答案。

我希望您对卡方检验的概述有所了解。如果您有兴趣更深入地了解该主题,我建议您观看有关卡方检验的较长视频,这将使您更全面地了解其机制。继续努力,保持好奇心,并记住始终努力不断学习。

Chi squared test using R programming
Chi squared test using R programming
  • 2022.11.07
  • www.youtube.com
If you're learning about statistical analysis using R programming then you'll love this video. In it Dr Martin explains how to use R studio and R programming...
 

总体、样本、参数、统计


总体、样本、参数、统计

大家好!在今天的课程中,我们将介绍统计领域的一些最重要的词汇。让我们从两个基本概念开始:总体和样本。

总体是指特定研究中感兴趣的所有数据,包括观察、响应、测量等。另一方面,样本是该总体的子集。为了说明这一点,让我们考虑一家公司进行的政治民意调查。他们随机联系 1,200 名选民,询问他们的投票偏好。在这种情况下,样本将是从这 1,200 个人获得的偏好列表。从技术上讲,人口将是所有登记选民的偏好列表。值得注意的是,总体和样本均指偏好本身,而不是个体。

在大多数情况下,从整个人群收集数据是不可行的。相反,我们依靠样本来得出关于总体的结论。这就是推论统计的本质——使用样本数据对总体进行推论。现在,让我们继续讨论关键定义。

首先,参数是描述总体的数值。它提供有关整个人口的信息。例如,在我们的民意调查示例中,参数是打算投票给特定候选人的所有登记选民的百分比。

其次,统计量是描述样本的数值。它表示从样本数据得出的特征或测量值。回到我们的民意调查场景,如果 1,200 名抽样选民中有 38% 表示打算投票给候选人 A,那么 38% 就是一个统计数据——代表了样本的偏好。

通常,我们只能访问统计数据,因为获取整个群体的参数通常是不切实际的。然而,我们的最终兴趣在于参数,因为它们提供了对总体人群的洞察。让我们再考虑几个例子来巩固我们的理解。

示例 1:随机选择的 50 辆在纽约 DMV 登记的车辆的平均车龄为 8 年。在这里,总体是指在纽约 DMV 登记的所有车辆的车龄。在本例中,样本由随机选择的 50 辆车辆的车龄组成。参数将是纽约所有注册车辆的平均车龄,而统计数据将是随机选择的 50 辆车辆的平均车龄。

示例2:2018年,美国家庭收入中位数为63,937美元,而芝加哥为70,760美元。在这种情况下,人口是指 2018 年美国所有家庭的收入,而样本代表芝加哥家庭当年的收入。第一个值 $63,937 是描述总体的参数,而第二个值 $70,760 是代表样本的统计数据。

了解总体和样本以及参数和统计数据之间的区别对于统计分析至关重要。虽然我们可能主要获得统计数据,但我们的目标是推断和估计参数,因为它们提供了对整个人群更广泛的视角。

Population, Sample, Parameter, Statistic
Population, Sample, Parameter, Statistic
  • 2020.06.14
  • www.youtube.com
Check out my whole Stats 101 playlist: https://youtube.com/playlist?list=PLKBUk9FL4nBalLCSWT6zQyw19EmIVInT6If this vid helps you, please help me a tiny bit b...