我有一个示例数据框,其中第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)")

10-06 05:50