全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1790 6
2013-03-06
By 写长城的诗


金融时报在7月20日公布了全球500强排行榜。根据这个数据尝试回答下面的一些问题。

1. 哪个行业的上榜公司最多?


看得出来,银行、石油、制药是前三强。


2. 哪个国家的上榜公司最多?


美国公司占据了大部分,日本和英国则位居其后。

3. 哪个行业最赚钱?


根据各行业公司的净利润中位数进行排序,地产、采矿、石油这三个行业公司利润不错。

4. 公司的排名变化如何?



根据2011年和2012年的排位之差,计算各公司的排名变化,对于2011年未上榜公司假设为501名。大致上正态分布,在退步前十名中有知名的Nokia、Sony、Philips。

5. 哪个行业的排名进步最大?


取其行业公司排名变化的中位数,旅游、地产、烟草公司排名有进步。

5. 中国的上榜公司排名总体变化如何?




和上面的一样,取各国公司排名变化的中位数,看得出中国上榜公司的排名略有下降。东南亚新兴市场的公司有很大进步。

需要说明的是FT只提供了排名的PDF文档,如果各位数据爱好者要折腾的话需要先将其转为Excel格式,或者下载我已经整理好的CSV文档

R代码如下:
mydata <- read.csv('d:\\ft500.csv',T,stringsAsFactors = F)
data  <- transform(mydata,
          Country = factor(Country),
          Sector = factor(Sector),
          value = as.numeric(gsub(',','',value)),
          netincome = as.numeric(gsub(',','',netincome)),
          employees = as.numeric(gsub(',','',employees)),
          totalasset = as.numeric(gsub(',','',totalasset)),
          turnover = as.numeric(gsub(',','',turnover)),
           price = as.numeric(gsub(',','',price)))
library(ggplot2)
# 哪个行业的上榜公司最多
data$Sector <- with(data,reorder(Sector,Sector,function(x) length(x)))
p <- ggplot(data=data)
p + geom_bar(aes(x=Sector,y=..count..),fill='deepskyblue') + coord_flip()
# 哪个国家的上榜公司最多?
data$Country <- with(data,reorder(Country,Country,function(x) length(x)))
p + geom_bar(aes(x=Country,y=..count..),fill='deepskyblue') + coord_flip()

# 哪个行业最赚钱
isna <- is.na(data$employees) |is.na(data$netincome)
data2 <- data[!isna,]
data2$Sector <- with(data2,reorder(Sector,netincome,median))
p2 <- ggplot(data=data2,aes(x=Sector,y=netincome))
p2 + stat_summary(fun.y=median,geom='bar',fill='deepskyblue') + coord_flip()

# 排名变化情况
data$X2011[is.na(data$X2011)] <- 501
data$change <- with(data,X2011-X2012)
p + geom_histogram(aes(x=change,y=..density..),
                   fill='deepskyblue',color='white')
# 进步前十名
data[order(data$change,decreasing=T),][1:10,]







二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-3-6 16:22:23
ft500.zip
大小:(22.17 KB)

 马上下载

本附件包括:

  • ft500.csv


# 退步前十名
data[order(data$change,decreasing=F),][1:10,]

# 行业的进退
data$Sector <- with(data,reorder(Sector,change,median))
p3 <- ggplot(data=data,aes(x=Sector,y=change))
p3 + stat_summary(fun.y=median,geom='bar',fill='deepskyblue') + coord_flip()

# 国家的进退
data$Country <- with(data,reorder(Country,change,median))
p4 <- ggplot(data=data,aes(x=Country,y=change))
p4 + stat_summary(fun.y=median,geom='bar',fill='deepskyblue') + coord_flip()

# 各变量之间的相关性
library(corrgram)
data3 <- data[,c(6:13,15)]
corrgram(order = T, data3, lower.panel = panel.shade, upper.panel = panel.pie)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-24 15:00:19
哈哈  从上面的代码中学到了GSUB
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-24 17:09:00
高手啊,数据整理是重要的一环
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-30 19:10:25
学习了  谢谢楼主!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-31 23:20:09
wwwww学习贴
果然对于处理数据的人而言没有什么从数据中看不到w
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群