开始使用免费开始使用

使用 possibly() 转换数值

假设您需要把 sw_people 中的《星球大战》角色身高从厘米转换为英尺。您已经知道有些身高数据缺失,因此将使用 possibly() 把缺失或无法处理的值转换为 NA。然后把每个已有的数值乘以 0.0328084,将厘米换算为英尺。

为了先了解数据,请在控制台打印 height_cm,查看以厘米为单位的身高。

本练习是课程的一部分

使用 purrr 掌握函数式编程基础

查看课程

练习说明

  • 将对象 height_cm 管道传入一个返回双精度向量的 map_*() 函数。
  • height_cm 的每个元素转换为英尺(乘以 0.0328084)。
  • 由于并非所有元素都是数值,请使用 possibly() 将无法处理的情况替换为 NA_real_

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create a piped workflow that returns double vectors
___ %>%  
  map___(possibly(function(___){
  # Convert centimeters to feet
    ___ * 0.0328084
}, ___)) 
编辑并运行代码