大数据人|大数据第一社区

 找回密码
 注册会员

扫一扫,访问微社区

【学习】《R实战》读书笔记(第六章)

2014-7-31 14:39| 发布者: admin| 查看: 538| 评论: 0|来自: PPV课

摘要: 第六章 基本图形 本章概要 1 条形、盒形和点图 2 饼状和扇形图 3 直方图和核密度曲线图

第六章 基本图形

本章概要

1 条形、盒形和点图

2 饼状和扇形图

3 直方图和核密度曲线图

本章所介绍内容概括如下。

数据可视化能够很好地理解数据。R提供了非常丰富的画图函数,通过图形可有助于理解分类变量和连续变量。

1 可视化变量分布

2 结果分组比较

条形图(Bar plot)

条形图通过垂直条或者水平条展示变量频次分布,形式如下。

barplot()。

举例说明如下。

数据源:使用vcd包里面的Arthritis数据集。

Arthritis数据集描述如下。

Data from Koch \& Edwards (1988) from a double-blind clinical trial investigating a new treatment for rheumatoid arthritis.

Arthritis

ID Treatment Sex Age Improved

1 57 Treated Male 27 Some

2 46 Treated Male 29 None

3 77 Treated Male 30 None

4 17 Treated Male 32 Marked

5 36 Treated Male 46 Marked

6 23 Treated Male 58 Marked

7 75 Treated Male 59 None

8 39 Treated Male 59 Marked

9 33 Treated Male 63 None

10 55 Treated Male 63 None

11 30 Treated Male 64 None

12 5 Treated Male 64 Some

13 63 Treated Male 69 None

14 83 Treated Male 70 Marked

15 66 Treated Female 23 None

16 40 Treated Female 32 None

17 6 Treated Female 37 Some

18 7 Treated Female 41 None

19 72 Treated Female 41 Marked

20 37 Treated Female 48 None

21 82 Treated Female 48 Marked

22 53 Treated Female 55 Marked

23 79 Treated Female 55 Marked

24 26 Treated Female 56 Marked

25 28 Treated Female 57 Marked

26 60 Treated Female 57 Marked

27 22 Treated Female 57 Marked

28 27 Treated Female 58 None

29 2 Treated Female 59 Marked

30 59 Treated Female 59 Marked

31 62 Treated Female 60 Marked

32 84 Treated Female 61 Marked

33 64 Treated Female 62 Some

34 34 Treated Female 62 Marked

35 58 Treated Female 66 Marked

36 13 Treated Female 67 Marked

37 61 Treated Female 68 Some

38 65 Treated Female 68 Marked

39 11 Treated Female 69 None

40 56 Treated Female 69 Some

41 43 Treated Female 70 Some

42 9 Placebo Male 37 None

43 14 Placebo Male 44 None

44 73 Placebo Male 50 None

45 74 Placebo Male 51 None

46 25 Placebo Male 52 None

47 18 Placebo Male 53 None

48 21 Placebo Male 59 None

49 52 Placebo Male 59 None

50 45 Placebo Male 62 None

51 41 Placebo Male 62 None

52 8 Placebo Male 63 Marked

53 80 Placebo Female 23 None

54 12 Placebo Female 30 None

55 29 Placebo Female 30 None

56 50 Placebo Female 31 Some

57 38 Placebo Female 32 None

58 35 Placebo Female 33 Marked

59 51 Placebo Female 37 None

60 54 Placebo Female 44 None

61 76 Placebo Female 45 None

62 16 Placebo Female 46 None

63 69 Placebo Female 48 None

64 31 Placebo Female 49 None

65 20 Placebo Female 51 None

66 68 Placebo Female 53 None

67 81 Placebo Female 54 None

68 4 Placebo Female 54 None

69 78 Placebo Female 54 Marked

70 70 Placebo Female 55 Marked

71 49 Placebo Female 57 None

72 10 Placebo Female 57 Some

73 47 Placebo Female 58 Some

74 44 Placebo Female 59 Some

75 24 Placebo Female 59 Marked

76 48 Placebo Female 61 None

77 19 Placebo Female 63 Some

78 3 Placebo Female 64 None

79 67 Placebo Female 65 Marked

80 32 Placebo Female 66 None

81 42 Placebo Female 66 None

82 15 Placebo Female 66 Some

83 71 Placebo Female 68 Some

84 1 Placebo Female 74 Marked

> rm(list=ls())

> counts <- table(Arthritis$Improved)

> counts

None Some Marked

42 14 28

> par(mfrow=c(1,2))

> barplot(counts, main=”Simple Bar Plot”, xlab=”Improvement”, ylab=”Frequency”)

> barplot(counts, main=”Horizontal Bar Plot”, xlab=”Frequency”, ylab=”Improvement”, horiz=TRUE)

效果图如图1所示。

图1:简单的垂直和水平条形图

注意:若是分类变量属于因子类型,没必要使用table()函数转换,直接使用barplot()函数绘图。

堆形或者分组条状图。

举例说明如下。

> rm(list=ls())

> library(vcd)

Loading required package: grid

> counts <- table(Arthritis$Improved, Arthritis$Treatment)

> counts

Placebo Treated

None 29 13

Some 7 7

Marked 7 21

> barplot(counts, main=”Stacked Bar Plot”,

+ xlab=”Treatment”, ylab=”Frequency”,

+ col=c(“red”, “yellow”, “green”),

+ legend=rownames(counts))

> barplot(counts, main=”Stacked Bar Plot”,

+ xlab=”Treatment”, ylab=”Frequency”,

+ col=c(“red”, “yellow”, “green”),

+ legend=rownames(counts), beside=TRUE)

效果图如图2所示。

图2:堆形和组间条状图

均值条状图,即每个条状表示均值指标。

举例说明如下。

> rm(list=ls())

> states <- data.frame(state.region,state.x77)

> means <- aggregate(states$Illiteracy, by=list(state.region),FUN=mean)

> means

Group.1 x

1 Northeast 1.000000

2 South 1.737500

3 North Central 0.700000

4 West 1.023077

> means <- means[order(means$x),]

> means

Group.1 x

3 North Central 0.700000

1 Northeast 1.000000

4 West 1.023077

2 South 1.737500

分享到: QQ空间 新浪微博 腾讯微博 人人网 飞信 百度搜藏


鲜花

握手

雷人

路过

鸡蛋

最新评论

关闭

站长推荐上一条 /2 下一条


id="mn_portal" >首页Portalid="mn_P18" onmouseover="navShow('P18')">应用id="mn_P15" onmouseover="navShow('P15')">技术id="mn_P37" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">前沿id="mn_P36" onmouseover="navShow('P36')">宝箱id="mn_P61" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">专栏id="mn_P65" >企业id="mn_Nd633" >导航 折叠导航 关注微信 关注微博 关注我们

QQ|广告服务|关于我们|Archiver|手机版|小黑屋|大数据人 ( 鄂ICP备14012176号-2  

GMT+8, 2024-5-4 04:46 , Processed in 0.186055 second(s), 21 queries .

Powered by 小雄! X3.2

© 2014-2020 bigdataer Inc.

返回顶部