Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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_Dataframe_Dplyr_Stringr - Fatal编程技术网

R 如何从数据框中的列中提取数字并将其添加到新列中

R 如何从数据框中的列中提取数字并将其添加到新列中,r,dataframe,dplyr,stringr,R,Dataframe,Dplyr,Stringr,我有一个名为df的数据框,它有一列(今天的价格)作为字符串值 以下是该专栏的摘录: Today's price MUR 15,265 MUR 20,000 MUR 9,841 我需要在我的数据帧(df)中有一个名为“价格”的新列(摘自“今日价格”列),如下所示: Price 15265 20000 9841 这就是我所做的,我得到所有记录的“NA”,而不是创建“价格”列 我正在使用dplyr和stringr库 我哪里出错了?我们可以使用parse\u number library(dpl

我有一个名为
df
的数据框,它有一列(
今天的价格
)作为字符串值

以下是该专栏的摘录:

Today's price
MUR 15,265
MUR 20,000
MUR  9,841
我需要在我的数据帧(df)中有一个名为“价格”的新列(摘自“今日价格”列),如下所示:

Price
15265
20000
 9841
这就是我所做的,我得到所有记录的“NA”,而不是创建“价格”列

我正在使用
dplyr
stringr


我哪里出错了?

我们可以使用
parse\u number

library(dplyr)
library(readr)
df %>% 
  mutate(Price = parse_number(`Today's price`)) %>% 
  select(-`Today's price`)
甚至更短,包括:

df %>% 
  mutate(Price = parse_number(`Today's price`), .keep = "unused")
输出:

 Price
  <dbl>
1 15265
2 20000
3  9841
价格
1 15265
2 20000
3  9841

我们可以使用
解析数字

library(dplyr)
library(readr)
df %>% 
  mutate(Price = parse_number(`Today's price`)) %>% 
  select(-`Today's price`)
甚至更短,包括:

df %>% 
  mutate(Price = parse_number(`Today's price`), .keep = "unused")
输出:

 Price
  <dbl>
1 15265
2 20000
3  9841
价格
1 15265
2 20000
3  9841

sub
+
as.numeric
?您能否将您的数据共享为
dput
?尝试将
as.numeric(stringr::str_remove_all(col_name_此处为“\\D”)
?我更新了我的问题,因为我没有提到我的代码没有创建“Price”列,而且对所有记录都给出了“NA”。您能在
str_摘录中添加可用数据吗?(以及其他注释中提到的问题)你应该在
今天的价格
栏中使用反勾号,而不是引号。@NelsonGon很好用!请发帖回答,我将据此投票。谢谢。
sub
+
as.numeric
?您能否将您的数据共享为
dput
?尝试将
as.numeric(stringr::str_remove_all(col_name_此处为“\\D”)
?我更新了我的问题,因为我没有提到我的代码没有创建“Price”列,而且对所有记录都给出了“NA”。您能在
str_摘录中添加可用数据吗?(以及其他注释中提到的问题)你应该在
今天的价格
栏中使用反勾号,而不是引号。@NelsonGon很好用!请发帖回答,我将据此投票。谢谢。我想
parse_number
需要
library(readr)
谢谢。只是忘了放进去了!。请看我的编辑。我想
parse_number
needs
library(readr)
谢谢。只是忘了放进去了!。请看我的编辑。