Обрезать векторные пробелы при обозначении элементов, если они не заполнены. Должны быть NA - PullRequest
0 голосов
/ 16 января 2019

Я имею дело с проблемой очистки данных, возникшей в результате очистки веб-страниц. Это крайний случай, но вот пример исходной таблицы:

""                                                      ""                                                     
 [3] ""                                                      ""                                                     
 [5] ""                                                      "Fund Management"                                      
 [7] "Fund SponsorMassachusetts Financial Services"          "Portfolio ManagersGeoffrey L. Schechter (30 Dec 2004)"
 [9] ""                                                      ""                                                     
[11] "Basics"                                                ""                                                     
[13] "Category:"                                             "Tax-Free Income-High Yield"                           
[15] "Ticker:"                                               "MFM       "                                           
[17] "NAV Ticker:"                                           "XMFMX"                                                
[19] "Average Daily Volume (shares):"                        ""                                                     
[21] "Average Daily Volume (USD):"                           "M"                                                    
[23] "Inception Date:"                                       "11/25/1986"                                           
[25] "Inception Share Price:"                                "$10.00"                                               
[27] "Inception NAV:"                                        "$9.40"                                                
[29] "Tender Offer:"                                         "No"                                                   
[31] "Term:"                                                 "No"                                                   
[33] "Fiscal Year End:"                                      "October 31"                                           
[35] "Third Party Links & Reports"                           ""                                                     
[37] "SEC Filings"                                           "Intraday Pricing"                                     
[39] "Fund Sponsor Website "                                 ""                                                     
[41] ""                                                      ""                                                     
[43] ""                                                      ""                                                     
[45] ""                                                      ""        

Проблема в том, что я хотел бы иметь возможность обрезать пробелы на границах таблицы (т.е. элементы 1-4 и 40-45, НО, если в элементе, следующем за элементом со строкой и ":" есть пробел. это не должно быть обрезано, но вместо этого нужно установить NA. Я пытаюсь подготовить этот вектор динамически, чтобы он не требовал постоянного мониторинга в случае незначительного изменения форматирования веб-страницы. Спасибо!

См. Dput:

c ("", "", "", "", "", "Управление фондом", "Fund SponsorMassachusetts Financial Services", "Portfolio ManagersGeoffrey L. Schechter (30 декабря 2004 г.)", "", "", "Основы", "", "Категория:", "Безналоговый доход с высокой доходностью", «Ticker:», «MFM», «NAV Ticker:», «XMFMX», «Среднесуточный объем (доли):», "", "Среднесуточный объем (долл. США):", "M", "Дата начала:", "25.11.1986", «Начальная цена акции», «10,00 долл. США», «Начальная стоимость NAV:», «9,40 долл. США», «Тендерное предложение:», «Нет», «Срок:», «Нет», «Конец финансового года:», «31 октября», "Ссылки и отчеты третьих сторон", "", SEC Filings "," Внутридневное ценообразование ", "Сайт спонсора фонда", "", "", "", "", "", "", "")

Однако вектор - это символьный вектор, а не список.

...