преобразовать высоту в виде строки X'X "в числовой - PullRequest
2 голосов
/ 10 ноября 2011

У меня есть столбец высот, отформатированный как 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 Ответ

8 голосов
/ 10 ноября 2011

У вас есть фактор.Вы можете преобразовать его в символьный вектор, разделить на символы в футах и ​​дюймах, а затем использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...