搜索
查看: 823|回复: 1

[R] 跟着高手一起啃R语言(2)

[复制链接]

6

主题

11

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2018-9-4 21:08:12 | 显示全部楼层 |阅读模式
本帖最后由 xray19 于 2018-9-4 22:42 编辑

练习:将一个连续变量映射为color,size和shape。对分类变量和连续变量来说,这些图形属性的表现有什么不同?

1,连续变量映射为color
[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,color=cty))


2,分类变量映射为color
[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,color=class))


3,连续变量映射为size
[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,size=cty))


4,分类变量映射为size

[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,size=class))

会出现警告:
[AppleScript] 纯文本查看 复制代码
[/color][color=#ff0000]Warning message:
Using size for a discrete variable is not advised. [/color][color=#000000]


5,连续变量映射为shape
[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,shape=cty))

出现报错信息:
[AppleScript] 纯文本查看 复制代码
[/color][color=#ff0000]错误: A continuous variable can not be mapped to shape[/color][color=#000000]


6,分类变量映射为shape
[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,shape=class))

出现警告:
[AppleScript] 纯文本查看 复制代码
[/color][color=#ff0000]Warning messages:
1: The shape palette can deal with a maximum of 6 discrete values because more
than 6 becomes difficult to discriminate; you have 7. Consider specifying
shapes manually if you must have them. 
2: Removed 62 rows containing missing values (geom_point). [/color][color=#000000]


如果将分类变量改为drv,只有3个分类,再映射给shape,就不会出现警告信息。

小结:
1,不建议将分类变量映射给size。这个比较容易理解,点的size本来是一个数值可以连续变化的图形属性,如果将其映射一个分类变量,显得不伦不类。
2,连续变量不能映射给shape。图形形状是一个具有分类性质的图形属性,很难脑补出连续变化的(不同的)图形形状是个什么情况。
3,分类变量映射给shape时,一定要注意分类不能超过6个,否则就会被自动剔除。

那么,接下来问题来了:
如果将同一个变量同时映射给多个图形属性,将会发生什么奇妙的事呢?

[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,color=drv,size=drv,shape=drv))


原来这个变量可以同时被多个图形属性所定义。
那么,将不同的变量映射给不同的图形属性呢?
[AppleScript] 纯文本查看 复制代码
ggplot(data=mpg)+
  geom_point(mapping = aes(x=displ, y=hwy,color=drv,size=cty))


这样就可以把数据的信息尽可能的丰富的呈现出来了。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:9/4 3.0-3.2要点+问题
下一篇:跟着高手一起啃R语言(3)
回复

使用道具 举报

25

主题

49

帖子

326

积分

中级会员

Rank: 3Rank: 3

积分
326
发表于 2018-9-6 16:57:12 | 显示全部楼层
写的很认真棒棒哒
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树    

GMT+8, 2019-5-22 17:57 , Processed in 0.030783 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.