Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从数值列向量中提取逗号前两位数字_R_Digits - Fatal编程技术网

R 从数值列向量中提取逗号前两位数字

R 从数值列向量中提取逗号前两位数字,r,digits,R,Digits,我有一个模拟的价格序列,它是一个列向量。由此,我需要提取逗号前面的两个数字,不进行舍入,即从价格1287.85中提取87,从价格234.13中提取34,并将它们存储在另一个列向量中 范例 str1 <- c("1,287.85", "234.13") str1我们可以使用str\u extract library(stringr) as.numeric(str_extract(str1, "\\d{2}(?=\\.)")) #[1] 87 34 数据 str1您可以先使用as.inte

我有一个模拟的价格序列,它是一个列向量。由此,我需要提取逗号前面的两个数字,不进行舍入,即从价格1287.85中提取87,从价格234.13中提取34,并将它们存储在另一个列向量中

范例

str1 <- c("1,287.85", "234.13")

str1我们可以使用
str\u extract

library(stringr)
as.numeric(str_extract(str1, "\\d{2}(?=\\.)"))
#[1] 87 34
数据
str1您可以先使用
as.integer(yournumber)
删除小数部分,然后使用模100运算:

a = 1287.54

as.integer(a) %% 100

#[1] 87

欢迎约金。请看。搜索和研究你正在做一个大师!很高兴能展示你迄今为止所做的努力。看看正则表达式的答案,比如or。i、 搜索R正则表达式数字…惊人的方法,完全满足我的需要。非常感谢!@阿克伦。道歉。我是这个论坛的新手。为了改进您的解决方案,我花了很长时间才意识到,只要关联价格达到一个整数,即198.00,NA就会出现,因为它存储为198,因此没有逗号可搜索。我解决了这个问题,只需将0.00001添加到我的整个价格向量中,该向量现在运行良好。
str1 <- c("1,287.85", "234.13")
a = 1287.54

as.integer(a) %% 100

#[1] 87