将高度转换为字符串X'X“为数字

时间:2011-11-09 21:35:20

标签: r

我有一列高度格式为X'X“(英尺和英寸),需要帮助将其转换为英寸。例如,6'2”将是74(英寸)。

使用dput(),这是列表:

h <- structure(c(3L, 2L, 5L, 1L, 4L), .Label = c("4'8\"", "5'1.5\"", 
               "5'10.5\"", "5'2.5\"", "5'6\""), class = "factor")

1 个答案:

答案 0 :(得分:8)

你有一个因素。您可以将其转换为字符向量,在英尺和英寸符号上拆分,然后使用sapply在匿名函数中进行转换:

h <- structure(c(3L, 2L, 5L, 1L, 4L), .Label = c("4'8\"", "5'1.5\"", 
                "5'10.5\"", "5'2.5\"", "5'6\""), class = "factor")

sapply(strsplit(as.character(h),"'|\""),
        function(x){12*as.numeric(x[1]) + as.numeric(x[2])})

[1] 70.5 61.5 66.0 56.0 62.5