R语言代码记录7

这篇博客介绍了如何使用R语言进行数据处理,包括创建数据框、合并数据、矩阵运算以及使用ggplot2库进行数据可视化。通过示例展示了如何利用merge函数合并数据,使用矩阵运算进行乘法、转置和求解逆矩阵,以及如何基于GDP和CPI设定数据等级。最后,用ggplot2绘制了两条折线图并进行了布局排列。
摘要由CSDN通过智能技术生成
# Review Session
Country <- c('US', 'UK', 'CA', 'CN', 'KR')
Year <- seq(2010,2019,by=1)
length(Country)
GDP <- runif(length(Country)*length(Year), min=0, max=10)
# rep(Country, each=length(Year))
# rep(Country, length(Year))
A <- rep(Country, each=length(Year))
B <- rep(Year, length(Country))
mydata1 <- data.frame(Country=A, Year=B, GDP)
colnames(mydata1) <- c('Country', 'Year', 'GDP')

CPI <- sample(c(1,2,3), 50, replace=TRUE)
mydata2 <- data.frame(Country=A, Year=B, CPI)

# Merging data——————merge合并
data_merge <- merge(mydata1, mydata2, by=c('Country', 'Year'))

# Matrix
A <- matrix(c(1:12), 4, 3)
B <- matrix(c(15:1), 3, 5, byrow = TRUE)
A%*%B
C <- matrix(c(1:9), 3, 3)
t(C) # transpos
det(C) # determinant
solve(C) # inverse 求逆

# indexing and which() function
LETTERS[c(1:3)]
A[c(1:2), c(2:3)]



# GDP in [6,10] and CPT=1, then Level is 'High'
data_merge$Level <- NA
data_merge$Level[which(data_merge$GDP<=10 & 
                      data_merge$GDP>=6 &
                      data_merge$CPI==1)] <- 'High'
data_merge$Level[which(data_merge$GDP<=6 & 
                         data_merge$GDP>=3 &
                         data_merge$CPI==2)] <- 'Middle'
data_merge$Level[which(data_merge$GDP<=3 & 
                         data_merge$GDP>=0 &
                         data_merge$CPI==3)] <- 'LOW'
data_merge$Level1 <- data_merge$Level
data_merge2 <- data_merge[,-c(6)]
data_merge2 <- data_merge[, c(1,2,3,4,5)]

# visualization
library(ggplot2)
data('economics')

cols <- c('psavert'='red', 'uempmed'='blue')
P1 <- ggplot(data=economics) +
  geom_line(aes(x=date, y=psavert, color='psavert')) +
  geom_line(aes(x=date, y=uempmed, color='uempmed')) +
  labs(title='A good title', x='Date', y='Personal saving rate') +
  scale_color_manual(name='', values=cols)

library(gridExtra)
grid.arrange(P1,P1,P1,ncol=1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值