根据股票收益率分类将数据进行分类
library(quantmod)
library(readr)
x1 <- read.csv("hsgp.csv",header = T)
x2 <- x1[-nrow(x1),]
a1 <- x2[sample(1:nrow(x2),1),1]
stock <- getSymbols(paste(a1,".sz",sep=""),from="2019-01-01",to="2021-10-21",auto.assign = F)
stock1 <- stock$`002490.SZ.Close`
stock2 <- lag(stock$`002490.SZ.Close`)
stock1$lag <- stock2
stock1$rct <- (as.numeric(stock1$X002490.SZ.Close)-as.numeric(stock1$lag))/as.numeric(stock1$lag)*100
stock1$rctlevel <- NA
stock1$rctlevel[as.numeric(stock1$rct) < -0.5 ] <- "暴跌"
stock1$rctlevel[as.numeric(stock1$rct)>= -0.5&as.numeric(stock1$rct)<0] <- "略跌"
stock1$rctlevel[as.numeric(stock1$rct)>0&as.numeric(stock1$rct)<=0.5] <- "略涨"
stock1$rctlevel[as.numeric(stock1$rct)>0.5] <- "暴涨"
stock1$rctlevel[is.na(stock1$rct)|as.numeric(stock1$rct)==0] <- "干嘛呢?"
将数据集state.x77中的收入进行分类,并计算每一类的收总和和平均收入
datax <- data.frame(state.x77)
range(datax$Income)
# [1] 3098 6315
class(datax$Income)
datax$level1 <- cut(datax$Income,
c(min(datax$Income),4500,5000,5500,6000,max(datax$Income)+1),right=F)
levels(datax$level1) <- c("低收入","中低收入","中等收入","中高收入","高收入")
datax1 <- datax[,c("Income","level1")]
datax2 <- melt(datax1,id=c("level1"))
datax3 <- dcast(datax2,level1~variable,function(x)sum(x,na.rm=T))
colnames(datax3) <-c("收入水平","totalIncome")
datax4 <- dcast(datax2,level1~variable,function(x)mean(x,na.rm=T))
colnames(datax4) <-c("收入水平","averageIncome")
colnames(datax2)[1] <- "收入水平"
datax5 <- merge(datax2,datax3,by="收入水平",all=T)
datax6 <- merge(datax5,datax4,by="收入水平",all=T)
datax6 <- datax6[,-2]
colnames(datax6)[2] <-"Income"
dataxx <- datax6[order(datax6$收入水平),]