未明学院14天打卡笔记 Day4

#数据框操作
#导入数据集
install.packages('readxl')
library(readxl)
getwd()
tianmao<-read_excel('E:/桌面快捷文件存放/未明学院/tianmaoTV.xlsx',skip = 1)

#也可以在坐上框选择‘impor dataset’,


#创建新变量
#计算当月的销售额
tianmao['total_sales']<-tianmao$current_price*tianmao$month_sales_count #这样可以在最后一行加上新的变量
tianmao[c('current_price','month_sales_count','total_sales')]

#折扣
tianmao$zhekou<-tianmao$current_price/tianmao$original_price
tianmao$zhekou

#对价格进行划分
a<-1:10
ifelse(a%%2==0,'偶数','奇数')
tianmao['price_class']<-ifelse(tianmao$current_price<1000,'低价',
ifelse(tianmao$current_price<=2000,'适中','高价'))
tianmao[c('current_price','price_class')]


#数据框重命名
names(tianmao) #显示列名
#怎么改列名呢
names(tianmao)[1]<-'mingcheng'
View(tianmao)

#如果不知道列名具体在哪一列
# %in% #判断,%前面是一个向量,后面也是一个向量,这个可以判断后面一个向量的元素是否在前面的一个向量中,返回TRUE,或者F
names(tianmao)%in%'weight'
names(tianmao)[names(tianmao)%in%'weight']<-'zhongliang'
names(tianmao)

#从数据集中提取子集
newdata<-tianmao[,-c(1:3)]
names(newdata)
coll<-c('mingcheng','description','current_price')
logical<-names(tianmao)%in%coll
newdata1<-tianmao[,!logical] #!表示减去logical 中为TRUE的

View(newdata1)

#返回行
tianmao[1,]


#如何提取子集需要的行
tianmao$brand=='小米'
logical1<-tianmao$brand=='xiaomi/小米'
logical1
xiaomi<-tianmao[logical1,]
View(xiaomi) ###????

xiaomi1<-subset(tianmao,brand=='小米',c('mingcheng','description'))
xiaomi1
View(xiaomi1)

# 作业4 ---------------------------------------------------------------------

#1、
library(readxl)
tianmao_2<-read_excel('E:/桌面快捷文件存放/未明学院/tianmaoTV.xlsx',skip = 1)
View(tianmao_2)


#2、
logical2<-tianmao_2$current_price<1000

xiaoyuyiqian<-tianmao[logical2,]
View(xiaoyuyiqian)

#3、
tianmao_2['stock_class']<-ifelse(tianmao_2$stock<0,'无货',
ifelse(tianmao_2$stock<100,'低库存',"高库存"))
View(tianmao_2)

#4
coll1<-c('stock','stock_class')
logical3<-names(tianmao_2)%in%coll1
logical3
tiqu<-tianmao_2[,logical3]
tiqu


#5
coll2<-c('shop_id','shop_name')

logical4<-names(tianmao_2)%in%coll2
newdata3<-tianmao_2[,!logical4]
View(newdata3)

猜你喜欢

转载自www.cnblogs.com/chayibaishanlqy/p/11574852.html