r - 将R中包含不同测量单位的测量单位从字符串转换为数字
问题描述
我有一个数据框,其中一个字符变量如下所示:
Var1
10 km
100 m
2.7 km
3 km
500 m
将这个变量转换为数字但同时将所有以公里为单位的值转换为米的最佳方法是什么?
解决方案
Var1 <- c("10 km", "100 m", "2.7 km", "3 km", "500 m")
strsplit(Var1, " ")
sapply(strsplit(Var1, " "), function(x) ifelse(x[2] == "km", as.numeric(x[[1]])*1000, as.numeric(x[[1]])))
[1] 10000 100 2700 3000 500
此解决方案仅接受“m”和“km”作为单位。如果您需要更多单位,您可以定义自己的函数来进行映射。
推荐阅读
- python - 如何使用 pandas 读取 xlsx doc 中特定范围的列和行?
- node.js - Node.js 后端中被忽略的错误
- javascript - SSJS JS 解析 JSON 数据
- 2sxc - 无法修改 2sxc 内容
- auth0 - 使用大炮进行压力测试 - 使用登录流程获取 auth0 不记名令牌
- gravity-forms-plugin - 为什么重力表格提交后消失?
- elixir - 覆盖 Logger 以在输出中添加 __MODULE__
- java - 不能使用带有 Java 内置 Integer 的工具
- c# - Azure 存储休息 API(放置 Blob API)
- python - Python:函数中的常量变量值,而不是变量