前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R for Data Science - 2.3 Common problems

R for Data Science - 2.3 Common problems

作者头像
R小白
修改2022-07-26 08:45:33
3630
修改2022-07-26 08:45:33
举报
文章被收录于专栏:生信学习生信学习

前面几节学了基本作图和美学映射,虽然有现成的代码,但是对于初学者,可能还是会经常碰到一些报错,这些其实是正常的,即使很熟练了也一样会遇到报错,区别是能否快速找到并解决问题,下面列几个常见的报错类型。

  1.  没加载R包

在运行一个R对话时,除了一些基础函数包会自动加载,其他的函数包都需要手动加载才能使用其中的函数,一般用library()函数,未加载R包会出现找不到函数的报错信息:

代码语言:javascript
复制
ggplot(data = mpg) +  geom_point(mapping = aes(x = displ, y = hwy, color = class))
#没有library(ggplot2)
代码语言:javascript
复制
Error in ggplot(data = mpg) : could not find function "ggplot"

2. 输入错误

一般是字符或者符号错误,如中文字符:

代码语言:javascript
复制
library(tidyverse)ggplot(data = mpg) +  geom_point(mapping = aes(x = displ, y = hwy, color = class))
#这里hwy后的逗号应为英文字符,
代码语言:javascript
复制
Error: unexpected input in:> "ggplot(data = mpg) +  geom_point(mapping = aes(x = displ, y = hwy,"

大小写:

代码语言:javascript
复制
library(tidyverse)ggplot(data = mpg) +  geom_point(mapping = aes(x = displ, y = hwy, color = class))
#这里Class应为class
代码语言:javascript
复制
Error in FUN(X[[i]], ...) : object 'Class' not found

3. 句式不完整

如输入一个函数时的括号不完整;或者在一句完整的代码后多加了逗号,运行时会在控制台的下一行最左侧出现'+',提示代码输入不完整,可以写完整或者按Esc取消运行。

代码语言:javascript
复制
ggplot(data = mpg,
代码语言:javascript
复制
> ggplot(data = mpg,+

另外一种情况是使用ggplot2函数作图时,多个函数的连接是在函数的末尾,而不是开头:

代码语言:javascript
复制
library(ggplot2)
ggplot(data = mpg)
+ geom_point(mapping = aes(x = displ, y = hwy))
代码语言:javascript
复制
> library(ggplot2)
> ggplot(data = mpg) 
> + geom_point(mapping = aes(x = displ, y = hwy))Error in `+.gg`:! Cannot use `+.gg()` with a single argument. Did you accidentally put + on a new line?Backtrace: 1. ggplot2:::`+.gg`(geom_point(mapping = aes(x = displ, y = hwy)))

可以看到这里的两行代码并未连接起来,会被当作两段代码分别运行。

4. 其他

遇到一个新的函数时,可以使用?function_name来快速查看函数的帮助文档,如?ggplot2;或者用光标选中函数后按F1键,很多帮助文档不仅有详细的参数说明,还有一些简单的例子,也可以粘贴这些例子在控制台一行一行的运行,可以加速自己对函数的理解。

有些复杂的问题也可以必应或者google等网站搜索,初学时遇到的很多bug其实都已经有很多人遇到过,并且已经解决了的,这样bug解多了以后就能快速定位并解决问题了。

学习一门语言是需要不断积累的,即使仅仅是为了用它完成某一项任务,引用这本书中的一句话:

You should also spend some time preparing yourself to solve problems before they occur. Investing a little time in learning R each day will pay off handsomely in the long run.

参考资料:

https://r4ds.had.co.nz/index.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档