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
needslibrary(readr)
谢谢。只是忘了放进去了!。请看我的编辑。