忽略逗号作为csv文件中的千位分隔符

时间:2019-01-21 17:24:57

标签: r csv tidyverse

我有一些具有多个行的数据集,例如下面的data.frae df

最终,在双引号外的逗号之后,我真的需要在字符串的末尾有整数。但是逗号作为千位分隔符似乎确实使事情变得复杂。

为每个计数保存行标签将很有用(即$ 5,000-$ 9,999),但是我可以不用这样做。

下面的代码返回行标签和同一列中的计数。

谢谢

library(tidyverse)
text<-'"Text / some other text / some other text / $5,000-$9,999", 10,000.00'
df<-data.frame(text=text)
df %>% 
  separate(., text, into=c('a', 'b', 'c', 'd'), sep='/')

2 个答案:

答案 0 :(得分:0)

第二个separate这样呢?

df %>% 
  separate(., text, into=c('a', 'b', 'c', 'd'), sep='/') %>%
  separate(d, into = c("d", "e"), sep = "\", ")

答案 1 :(得分:0)

您可以使用R Base的正则表达式功能来完成您的任务。

library(tidyr)
text<-'"Text / some other text / some other text / $5,000-$9,999", 10,000.00'
df<-data.frame(text=text)
df %>% mutate(my_number = unlist(regmatches(text, gregexpr( ' [0-9](.*)$' ,text)))) %>%  
       mutate(my_number = as.integer(sub(',','', my_number))) %>%  
  head 


text   my_number
1 "Text / some other text / some other text / $5,000-$9,999", 10,000.00     
10000