#r
#r
Вопрос:
В настоящее время я нахожусь в таблице в RStudio, подобной приведенной ниже, и столбец «system_version» — это тип символа, однако некоторые из них отображаются как «8.0.0», что мне и нужно, в то время как некоторые из них отображаются как целое число, например «9». Интересно, как мне это исправить?
------------------------------
| platform | system_version |
------------------------------
| PC | 8.0.0 |
------------------------------
| PC | 9 |
------------------------------
| PC | 7.0.0 |
------------------------------
| PC | 6 |
------------------------------
| PC | 1 |
------------------------------
Desired table:
------------------------------
| platform | system_version |
------------------------------
| PC | 8.0.0 |
------------------------------
| PC | 9.0.0 |
------------------------------
| PC | 7.0.0 |
------------------------------
| PC | 6.0.0 |
------------------------------
| PC | 1.0.0 |
------------------------------
Ответ №1:
Мы можем использовать sub
для замены элементов, которые содержат только цифры от начала ( ^
) до конца ( $
) строки, захватив эти элементы и заменив на обратную ссылку ( \1
) захваченного сгруппированного при вставке .0.0
df1$system_version <- sub("^(\d )$", "\1.0.0", df1$system_version)
данные
df1 <- structure(list(platform = c("PC", "PC", "PC", "PC", "PC"), system_version = c("8.0.0",
"9", "7.0.0", "6", "1")), class = "data.frame", row.names = c(NA,
-5L))