У меня есть кадр данных, который выглядит следующим образом:
df<-structure(list(string = c(" Thermionic, cold and photo-cathode valves, tubes, and parts .................................. E ....................... 16.3",
" Automatic data processing machines and units thereof ............................................ E ....................... 15.0",
" Parts of and accessories suitable for 751, 752 .......................................................... E ....................... 14.6",
" Optical instruments and apparatus .............................................................................. E ....................... 14.1",
" Perfumery, cosmetics and toilet preparations ............................................................. E ....................... 13.3",
" Silk .................................................................................................................................. A ....................... 13.2",
" Undergarments, knitted or crocheted .......................................................................... B ....................... 13.1",
" Articles of materials described in division 58 ............................................................. D ....................... 13.1"
), id = c("1 ", "2 ", "3 ", "4 ", "5 ", "6 ", "7 ", "8 "), SH3 = c("776 ",
"752 ", "759 ", "871 ", "553 ", "261 ", "846 ", "893 ")), row.names = c(NA,
-8L), class = c("tbl_df", "tbl", "data.frame"))
# that looks like this
string id SH3
<chr> <chr> <chr>
1 " Thermionic, cold and photo-cathode valves, tubes, and parts .................................. E ....................... 16.3" "1 " "776 "
2 " Automatic data processing machines and units thereof ............................................ E ....................... 15.0" "2 " "752 "
3 " Parts of and accessories suitable for 751, 752 .......................................................... E ....................... 14.6" "3 " "759 "
4 " Optical instruments and apparatus .............................................................................. E ....................... 14.1" "4 " "871 "
5 " Perfumery, cosmetics and toilet preparations ............................................................. E ....................... 13.3" "5 " "553 "
6 " Silk .................................................................................................................................. A ....................... 13.2" "6 " "261 "
7 " Undergarments, knitted or crocheted .......................................................................... B ....................... 13.1" "7 " "846 "
8 " Articles of materials described in division 58 ............................................................. D ....................... 13.1" "8 " "893 "
Я хотел бы разделить переменную string
на три отдельные переменные. string
состоит из 3 частей, разделенных серией точек (...)
1) Первая часть состоит из некоторого текста: например. в строке 1 «Thermioni c, клапаны с холодным и фотокатодом, трубки и детали»
2) Вторая часть - это заглавная буква: например. в строке 1: «E»
3) Последняя часть - это число: например, в строке 1 стоит «16,3».
Я хотел бы разделить свою строку и создать три переменные из этого. Проблема в том, что количество точек варьируется для каждой строки. Кто-нибудь знает, как это эффективно сделать?
Эффективный способ изолировать заглавную букву (часть 2) будет достаточно для моей стороны.
Заранее большое спасибо за вашу помощь