【发布时间】:2018-01-19 18:33:58
【问题描述】:
我的数据框中有一个变量(名为 otemp - 类字符),其中包含以°C 为单位的温度范围,我想将范围(例如 -55°C ~ 105°C)转换为数字(范围有一个最小值和最大值,例如-55:105)我可以稍后比较(大于、等于等)。
这是包含这些值的列:
> head(otemp)
[1] "-55°C ~ 105°C" "-55°C ~ 105°C" "-55°C ~ 105°C" "-55°C ~ 105°C" "-55°C ~ 125°C" "-55°C ~ 125°C"
首先,我删除了°C:
> otemp<- gsub('°C',"",otemp) head(otemp) [1] "-55 ~ 105" "-55 ~ 105"
> "-55 ~ 105" "-55 ~ 105" "-55 ~ 125" "-55 ~ 125"
然后我把“~”换成了“:”
> otemp <- gsub('~',":",otemp)
> head(otemp) [1] "-55 : 105" "-55 : 105" "-55 : 105" "-55 : 105" "-55 : 125" "-55 : 125"
如何将当前类(字符)转换为数字范围? (例如,-55:105 作为范围将产生从 -55 到 105 的数字范围)
【问题讨论】:
-
假设您想将 min 和 max 的值分成两个不同的列,我更喜欢
tidyr::separate(otemp, c("min", "max"), " : ")
标签: r list class type-conversion character