清理以下网页抓取的数据,并在一致的位置获得没有适当间距的向量:
“ SharePriceNAVPremium / Discount”“当前$ 21.26 $ 20.901.72%”“ 52周平均$ 24.41 $ 23.245.05%”“ 52周最高$ 28.00 $ 25.0518.09%”
“ 52周最低价$ 18.52 $ 19.11-4.92%”“”
我正在尝试使数据看起来像这样:
“ SharePrice资产净值溢价/折让”“当前$ 21.26 $ 20.90 1.72%”“ 52WkAvg $ 24.41 $ 23.24 5.05%”“ 52WkHigh $ 28.00 $ 25.05 18.09%”
“ 52WkLow $ 18.52 $ 19.11 -4.92%”
我遇到的问题是如何在“ $”加4个数字之后有条件地添加空格(因为这似乎是此处使用的一致价格惯例)。
尝试了str_pad和str_replace_all并没有获得普遍成功。任何帮助表示赞赏!
这是我的剧本:
library(rvest)
library(stringr)
CEF_Page <- read_html("https://www.cefconnect.com/fund/JLS")
test9 <- CEF_Page %>%
html_nodes("#ContentPlaceHolder1_cph_main_cph_main_SummaryGrid") %>%
html_text() %>%
strsplit(split = "\n") %>%
unlist() %>%
.[. != " "]
test9 <- str_replace_all(test9,pattern = "\t", replacement = "")
test9 <- str_replace_all(test9,pattern = "\r", replacement = "")