如何解决TBL不将2个相同的字符串分组
library(readr)
library(readxl)
library(tidyverse)
library(writexl)
library(purrr)
setwd("path")
file.list <- dir(pattern = "txt$")
Data_cleaner <- function(x) {
lines <- read_lines(x)
lower_lines <- tolower(lines)
natures_df <-as.data.frame(do.call(rbind,strsplit(lower_lines,"(?<=\\dx) | for ",perl = TRUE)))
natures_df_clean <-
natures_df %>%
rename(
Quantity_dirty = V1,Product = V2,price_each = V3
)
Quantity_chr <-
gsub(
x = natures_df_clean$Quantity_dirty,pattern = "x",replacement = ""
)
Quantity <- as.numeric(Quantity_chr)
price_clean_df <- gsub("R",replacement = "",x = natures_df_clean$price_each)
price_clean <- gsub("each",x = price_clean_df)
Price <- as.numeric(price_clean)
natures_final_df <-
natures_df_clean %>%
mutate(
Price = Price,Quantity = Quantity,QuantityXPrice = Price * Quantity
)
Natures <- select(natures_final_df,Product,Quantity)
Natures
}
df = data.frame()
frame_frame <- map(file.list,Data_cleaner)
Total <- rbindlist(frame_frame)
我一直试图将文本转换为数据框,然后将所有数据框合并,但是现在我将它们合并,并且像“小黄瓜”之类的东西将不会合并在一起,因此即使我进行分组,我也会得到两个名称相同的实例有什么想法吗?
这是我要更改的文本,它们都在自己的文本文件中
2x Small Cucumber for R 10 each
1x Tomatoes 1kg for R 16 each
1x Carrot 1 kg for R 14 each
1x Butter 500g for R 57 each
3x Beef rump steak 300g for R 45 each
2x Chicken Braai pack 1.1kg for R 75 each
2x Small Cucumber for R 10 each
1x Oyster Mushroom for R 20 each
1x Onions 1 kg for R 15 each
1x Asparagus 200g for R 45 each
1x Strawberry Punnet 250g for R 22 each
2x beef Fillet Steak 300g for R 54 each
1x Chicken flattie lemon and herb for R 85 each
1x Butter 500g for R 57 each
P.S我是新来的,很抱歉,如果它太乱了。
解决方法
Final <- Total %>% group_by(Product) %>% summarise(y = sum(Quantity))
这解决了我的问题。我起初确实尝试过group_by
,但没有summarise(sum())
Quantity
做过,所以它没有将我所有重复的物品折叠在一起。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。