R语言使用中的一些奇技淫巧

1 读取excel内存溢出

    #下载包
    install.packages("openxlsx")
    #读取openxlsx包
    library(openxlsx)
    file<-read.xlsx("Z:\\-2019\\周报\\2019.6.24\\6.21库存.xlsx",1)

字段筛选

data<-file[c(2:7,15,25,26,29)]

将文本变为同名字符串

test<-c(1,2,3,4,5)
nameTest<-substitute(test)

#多条件字段内容删选 选出产品分类中:赠品、产品目录、其他 另存新表

tichu<-data[which((start_data$产品分类=="赠品")|(start_data$产品分类=="产品目录")|(start_data$产品分类=="其他")),]

#查看饰品中是否有较多库存  >= 30 有就也剔除
#使用该方法是因为 >=30  的时候符合该条件的情况为0  就会导出删选出错  所以使用以下方法
shipin<-which((kucun$产品分类=="饰品")&(as.integer(kucun$可销库存)>=30))
if(length(shipin)>0){
  kucun<-kucun[-shipin,]
}

使用数据透视表方法 用sql实现

library(sqldf)
result<-(sqldf('select "产品名称","产品分类", count("产品名称"),sum(可销库存),sum("7天销量"),sum("30天销量"),sum("昨日销量") from CC group by "产品名称"'))

#excel中时间处理

excel 中起始时间为 1900-01-01 Excel把1900年当做闰年,计算了2月29日 所以r转化差两天 origin=”1899-12-30”

r语言 中起始时间为 1970-01-01 origin = “1970-01-01”

https://support.microsoft.com/en-us/help/214326/excel-incorrectly-assumes-that-the-year-1900-is-a-leap-year

将上新时间修复 异常的置空

Online_Time$上新时间<-as.Date(as.integer(Online_Time$上新时间),origin="1899-12-30")
as.Date(Online_Time[,1],origin = "1970-01-01")

两个数据表连接

library("dplyr")
process<-left_join(result,Online_Time,by="款号")[1:8]

#将数据分sheet写出

#构造数据list
list_data <- list("原数据" = data, "剔除" = tichu )
#定义一个储存路径
path="Z:\\-2019\\周报\\2019.6.24\\库存清洗_20190621.xlsx"
#写出
write.xlsx(list_data, file = path)

#数字以逗号分隔 先替换在转换 gsub(“,”,””, tianmao$支付金额)

tianmao$支付金额<-as.numeric(gsub(“,”,””, tianmao$支付金额))

计算商品名称中包含预售的支付金额 求和

yuhsou<-sum(tianmao[grep(pattern="预售",tianmao$商品名称),"支付金额"])

调整输出小数位数  options(digits=4)

超级好用的字符串处理包

library(stringr)
#取出商品名中的款号  例:PT616
kuanhao<-str_extract_all(tianmao[1:20,"商品名称"],"[A-Z]+[0-9]+")[]

  转载请注明: 城北

 上一篇
来源知乎 曹婷婷 授之以渔和相关报告解读方法~(原创,转载请告知) 首先说下,找各行各业的行业报告的用途是什么? 如果是for公司的战略决策,或者产品方向,或者市场策略,或者产品设计,或者广告定价,或者投资,或者任何方向,不同的部分不同的人
2019-12-14 CityNorth
下一篇 
反扒措施 反扒措施
爬虫常见反扒措施在互联网上爬取数据的过程中难免出现ip被封或者服务器返回403等等,这可能是你被网站检测为爬虫而采取的反爬措施,本文主要总结了一些常见的情况及规避的措施。 构造合理的请求头HTTP 的请求头是在你每次向网络服务器发送请求时,
2019-06-14
  目录