R数据科学 16.5.3练习题

devtools/2024/10/24 2:00:53/

(1) 编写代码以使用一种映射函数完成以下任务。

a. 计算 mtcars 数据集中每列的均值。
b. 确定 nycflights13::flights 数据集中每列的类型。
c. 计算 iris 数据集中每列唯一值的数量。
d. 分别使用 μ= -10、0、10 和 100 的正态分布生成 10 个随机数。

library(purrr)
# 计算 mtcars 每列的均值
mean_mtcars <- map(mtcars, mean)
# 确定 flights 数据集中每列的类型
column_types <- map(flights, class)
# 计算 iris 数据集中每列的唯一值的数量
unique_count <- map(iris, ~ length(unique(.)))
# 使用不同的均值生成 10 个随机数
random_numbers <- map(c(-10, 0, 10, 100), ~ rnorm(10, mean = .))

(2) 如何建立一个向量来表明数据框中的每一列是否为一个因子?

# 建立一个向量表明每列是否为因子
is_factor <- map_lgl(iris, is.factor)

(3) 如果在非列表向量上使用映射函数,那么会发生什么情况? map(1:5, runif) 的作用是什么?为什么?

输出将是一个列表,其中包含不同长度的随机数向量。
map(1:5, runif) 会为向量 1:5 中的每个元素执行 runif() 函数,并生成相应数量的随机数。

(4) map(-2:2, rnorm, n = 5) 的作用是什么?为什么? map_dbl(-2:2, rnorm, n = 5) 的作用又是什么?为什么?

map(-2:2, rnorm, n = 5)

该语句对 -2:2 进行映射,并对每个值执行 rnorm(n = 5, mean = x),即生成均值为 -2、-1、0、1 和 2 的 5 个正态分布随机数。每次生成的结果是一个包含 5 个随机数的列表,每个元素对应不同的均值。

map_dbl(-2:2, rnorm, n = 5)

map_dbl() 会尝试将结果强制为数值向量,但由于 rnorm() 返回的是一个向量,map_dbl() 无法处理,所以会抛出一个错误。map_dbl() 适用于返回单个数值的函数,而不是返回向量的函数。

(5) 重写 map(x, function(df) lm(mpg ~ wt, data = df)) 这段代码,去除匿名函数。

# 定义一个具体的函数  
fit_model <- function(df) {  lm(mpg ~ wt, data = df)  
}  # 使用 map 调用这个函数  
result <- map(x, fit_model)

http://www.ppmy.cn/devtools/128331.html

相关文章

Cadence元件A属性和B属性相互覆盖

最近在使用第三方插件集成到Cadence,协助导出BOM到平台上&#xff0c;方便对BOM进行管理和修改&#xff0c;结果因为属性A和属性B不相同&#xff0c;导致导出的BOM错误。如下图&#xff1a; ​​ 本来我们需要导出Q12&#xff0c;结果给我们导出了Q13&#xff0c;或者反之&…

在Ubuntu 20.04 上安装 CoppeliaSim

在 Ubuntu 20.04 上安装 CoppeliaSim Edu V4.6.0 rev18 的步骤如下&#xff1a; 1. 下载安装文件: 首先&#xff0c;确保您已经下载了 CoppeliaSim_Edu_V4_6_0_rev18_Ubuntu20_04.tar.xz 文件。您可以从 Coppelia Robotics 的官方网站下载。 2. 解压缩文件: 打开终端&#…

TensorFlow:强大的机器学习框架

在当今的人工智能和机器学习领域&#xff0c;TensorFlow 无疑是一颗璀璨的明星。它是一个由 Google 开发的开源机器学习框架&#xff0c;广泛应用于各种领域&#xff0c;从图像识别到自然语言处理&#xff0c;从医疗保健到金融分析&#xff0c;都能看到 TensorFlow 的身影。 一…

解决:Ubuntu跑slam,遇到rviz闪退

在使用ros运行slam算法的时候&#xff0c;运行roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch和rosbag play nsh_indoor_outdoor.bag中的某一条指令的时候&#xff0c;发现rviz启动后&#xff0c;里面没有内容&#xff0c;并且闪退。 我尝试关闭vmware中的3D加速&…

Pytorch复习(三)

一、CNN 卷积神经网络是近年发展起来&#xff0c;并广泛应用于图像处理&#xff0c;NLP等领域的一种多层神经网络 传统BP处理图像时的问题&#xff1a; 1、权值太多&#xff0c;计算量较大 2、权值太多&#xff0c;需要大量样本进行训练 CNN通过局部感受野和权值共享减少了…

|动漫爬取|001_djangodjango基于Spark的国漫推荐系统的设计与实现2024_tpd6q1o4

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

【Qt】控件——Qt多元素控件、常见的多元素控件、多元素控件的使用、List Widget、Table Widget、Tree Widget

文章目录 QtQt多元素控件List WidgetTable WidgetTree Widget Qt Qt多元素控件 List Widget 使用 QListWidget 能够显示一个纵向的列表。 属性说明currentRow当前被选中的是第几行。count一共有多少行。sortingEnabled是否允许排序。isWrapping是否允许换行。itemAlignment元素…

ECharts饼图-饼图34,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个饼图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供详…