1、数据框(或tibble)中的每一列都是一个向量。假设有一个名为 long 的数据框,提取 long 中 score 列的标准差和中位数。接着,将 score 列重命名为 Score (首字母大写)。有多种实现方式,我们尝试使用 tidyverse 。你可以通过谷歌搜索 rename() 函数来完成此操作。
要提取 long 数据框中 score 列的标准差和中位数,并将 score 列重命名为 Score ,可以使用以下代码:
library(tidyverse)
# 提取 score 列的标准差和中位数
summary_stats <- long %>%
summarize(
sd_score = sd(score),
median_score = median(score)
)
# 重命名 score 列为 Score
long <- long %>%
rename(Score = score)
上述代码首先加载 tidyverse 包,然后使用 summarize() 函数计算 score 列的标准差和中位数,并将结果存储在 summary_stats 中。最后,使用 rename() 函数将 score 列重命名为 Score 。
2、创建一个 long 数据集的子集,该子集仅包含 testA 和 testB 的分数。你需要使用 filter() 函数和 %in% 运算符(或不等式运算符 != )。然后使用 range() 函数检查该子集的最低和最高分数。接下来,创建一个 long 数据集的子集,该子集仅包含分数大于7.0的受试者。对于这个问题,你需要加载 dataPrep.R 脚本,因为我们将使用 long 数据集。即使 long 已经在你的环境中,你也应该这样做,这将使这个练习的脚本具有自包含性。
以下是实现上述要求的R代码:
# 加载dataPrep.R脚本
source("dataPrep.R")
# 创建仅包含testA和testB分数的子集
subset_testAB <- filter(long, test %in% c("testA", "testB"))
# 检查子集的最低和最高分数
score_range <- range(subset_testAB$score)
print(score_range)
# 创建仅包含分数大于7.0的受试者的子集
subset_score_gt_7 <- filter(long, score > 7.0)
上述代码首先加载了 dataPrep.R 脚本,确保 long 数据集被正确加载。然后使用 filter() 函数和 %in% 运算符创建了仅包含 testA 和 testB 分数的子集,并使用 range() 函数检查了该子集的分数范围。最后,使用 filter() 函数创建了仅包含分数大于7.0的受试者的子集。
3、我们常常只想绘制部分数据,而非整个数据集。例如在绘制折线图时,我们可能想从数据中移除某一组,从而得到一个只有部分组的图。已知可以使用filter()函数对数据进行子集操作,并且能在ggplot()内部使用该函数。现在要创建不包含日语组的折线图,只需在绘图代码块中绘图的第一层的数据变量后添加 %>% ,实际上,你可以在ggplot()内部使用 %>% 进行许多复杂的操作。请完成创建不包含日语组的折线图的操作。
在绘图代码块中绘图的第一层的数据变量后添加 %>% ,并使用 filter() 函数过滤掉日语组,以创建不包含日语组的折线图。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



