【发布时间】:2015-02-18 14:57:55
【问题描述】:
我有一些 .csv 格式的温度测量值,并试图在 R 中对其进行分析。由于某种原因,数据文件包含温度,数值后有摄氏度。有没有办法删除摄氏度符号并返回数值?我虽然在这里制作了一个示例,但不知道如何在 R 中的字符串中生成度数符号。无论如何,这就是数据的样子:
> head(mm)
dateTime Temperature
1 2009-04-23 17:01:00 15.115 °C
2 2009-04-23 17:11:00 15.165 °C
3 2009-04-23 17:21:00 15.183 °C
mm[,2] 的类是 'factor'
谁能建议将第二列转换为 15.115 等的方法?
【问题讨论】:
-
你试过
mm$temp <- as.numeric(mm$Temperature)吗? -
您可以尝试在读取数据时将
°设置为注释字符。否则,可以使用as.numeric(gsub(...))。 -
@MarkusRehm 是的,它返回第一个值的 1299,这是不正确的
-
as.numeric(gsub("°C", "", "15.115 °C", fixed = TRUE)) -
我打算提出一些更古怪的建议:对于温度列,运行
gsub删除所有不是数字或句点的内容:-)。gsub('[^0-9.]','',mm$Temperature)-- 主要是因为我不记得如何在 R 中拉出“度”符号
标签: r