【发布时间】:2017-11-12 09:53:20
【问题描述】:
我在 R 中有一个包含 49 个级别的因子,我正在尝试使用 as.numeric 将其转换为数字
- 纬度:系数“0.80N”、“0.40S”、...
我希望将北指定转换为“+”,将南指定为“-”,以便数据看起来像
- 纬度:num 0.80, -0.40, ...
我不知道以后该怎么做
Mcity$lat <- as.numeric(Mcity$Latitude)
structure(c(40L, 40L, 40L, 40L), .Label =
c("0.80N", "0.80S", "10.45N", "12.05N", "12.05S", "13.66N", "13.66S",
"15.27N", "15.27S", "16.87N", "18.48N", "18.48S", "2.41N", "20.09N",
"20.09S", "21.70N", "23.31N", "23.31S", "24.92N", "26.52N", "28.13N",
"29.74N", "29.74S", "31.35N", "32.95N", "32.95S", "34.56N", "34.56S",
"36.17N", "37.78N", "37.78S", "39.38N", "4.02N", "4.02S", "40.99N", "42.59N",
"44.20N", "45.81N", "49.03N", "5.63N", "5.63S", "50.63N", "52.24N", "55.45N",
"60.27N", "7.23N", "7.23S", "8.84N", "8.84S"), class = "factor")
【问题讨论】:
-
在您的问题中包含minimal reproducible example 会增加您获得答案的机会。
-
这样的? > dput(head(Mcity$Latitude,4))
-
结构(c(40L, 40L, 40L, 40L), .Label = c("0.80N", "0.80S", "10.45N", "12.05N", "12.05S" 、“13.66N”、“13.66S”、“15.27N”、“15.27S”、“16.87N”、“18.48N”、“18.48S”、“2.41N”、“20.09N”、“20.09S” 、“21.70N”、“23.31N”、“23.31S”、“24.92N”、“26.52N”、“28.13N”、“29.74N”、“29.74S”、“31.35N”、“32.95N” 、“32.95S”、“34.56N”、“34.56S”、“36.17N”、“37.78N”、“37.78S”、“39.38N”、“4.02N”、“4.02S”、“40.99N” 、“42.59N”、“44.20N”、“45.81N”、“49.03N”、“5.63N”、“5.63S”、“50.63N”、“52.24N”、“55.45N”、“60.27N” , "7.23N", "7.23S", "8.84N", "8.84S"), class= "因子")
-
我 真的 认为这是 stackoverflow.com/questions/14359115/… 的重复,但如果我以这种方式标记它而无需确认,它将关闭 q,我不确定这是有保证的由于输入格式略有不同。
-
@hrbrmstr,肯定是非常接近。你可以争辩说,如果有人查了这个问题,他们很容易适应。唯一的区别是将字符串分成几部分......但同样,也有很多问题可以解决。