我有一个示例数据框,其中第1行和第2行的所有列[第1列除外]都包含如下数据:
我怎么能简单地保持像
选项1:只有84.92亿欧元(1300万美元)以内的数字[5],所以结果是“13”
选项2:只有数量和单位在8492亿欧元(1300万美元)以内[5],所以结果是“1300万”
起初我试图找到起始位置,以便以后可以应用substr,但它给出了错误:
>grep("US$",df[1,1],fixed=TRUE))
integer(0)
有什么方法可以转储sqlite中的数据或使用sqldf包等来进行清理…什么?这一串接一串的清理对我不好。
最佳答案
gsub('.*US\\$(.*)\\).*', '\\1', x)
[1] "13 million" "11 million" "1.6 million"
[4] "5.6 million
gsub('.*US\\$(.*) .*', '\\1', x)
[1] "13" "11" "1.6" "5.6"
日期
x <- c("<U+20B9>84.92 crore (US$13 million)[5]", "<U+20B9>680 million (US$11 million)",
"<U+20B9>100 crore (US$1.6 million)[4]","<U+20B9>350 million (US$5.6 million)")