下面内容摘录自《R 语言与数据科学的终极指南》专栏文章的部分内容,每篇文章都在 5000 字以上,质量平均分高达 94 分,看全文请点击下面链接:
2章2节:RStudio 四大区应用全解,兼谈 R 的代码规范与相关文件展示_rstudio的console和terminal-CSDN博客文章浏览阅读1.6k次,点赞27次,收藏2次。RStudio 界面四大区应用的详细讲解,和 R 的代码规范与相关文件展示。_rstudio的console和terminal
https://blog.csdn.net/2301_79425796/article/details/140572732?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22140572732%22%2C%22source%22%3A%222301_79425796%22%7D
欢迎订阅我们专栏
.......前面部分请点击上面链接看原文(原文8827字)
二、Console, Terminal, Jobs区(右上角2区,控制台)
上图,在RStudio中,Console、Terminal、和Background Jobs(后台作业)是三个不同的组件,各自有其独特的功能和用途。
2.1 Console
RStudio的Console(控制台)是一个非常重要的组件,主要用于交互式执行代码、显示输出结果、查看警告和错误信息、管理历史记录、提供代码补全和帮助文档查询、加载和管理R包、管理工作环境,以及与其他RStudio面板(如Source编辑器和Environment面板)交互,为R用户提供了一个直接与R解释器交互的接口。
Console中R的常见错误信息示例
# 错误信息示例
# 1. Error: object 'x' not found
# 试图使用一个尚未定义或不存在的对象
tryCatch({
print(x) # x未定义
}, error = function(e) { print(e$message) })
# 2. Error in FUN(...) : arguments imply differing number of rows
# 函数参数之间的数据行数不匹配
tryCatch({
df1 <- data.frame(a = 1:3)
df2 <- data.frame(b = 1:4)
cbind(df1, df2) # 行数不一致
}, error = function(e) { print(e$message) })
# 3. Error in if (condition) { : argument is not interpretable as logical
# if语句的条件不是布尔类型
tryCatch({
if (5) { print("Hello") } # 5不是布尔类型
}, error = function(e) { print(e$message) })
# 4. Error: cannot allocate vector of size xx
# 内存不足,无法分配所需大小的向量
tryCatch({
x <- matrix(1, nrow = 1e9, ncol = 1e9)
}, error = function(e) { print(e$message) })
# 5. Error in match.arg(type) : 'arg' must be NULL or a character vector
# 函数参数不符合预期类型
tryCatch({
mean(c(1, 2, 3), trim = "high") # 参数类型错误
}, error = function(e) { print(e$message) })
Console中R的常见警示信息示例
# 警告信息示例
# 1. Warning: Incomplete final line found by readTableHeader
# 读取的文件最后一行不完整
# 假设example.txt文件存在且最后一行不完整
tryCatch({
data <- read.table("example.txt") # 文件最后一行不完整
}, warning = function(w) { print(w$message) })
# 2. Warning: number of items to replace is not a multiple of replacement length
# 替换操作中,被替换的元素数量与替换的元素数量不匹配
x <- 1:10
tryCatch({
x[1:3] <- c(1, 2) # 数量不匹配
}, warning = function(w) { print(w$message) })
# 3. Warning: the condition has length > 1 and only the first element will be used
# 条件表达式返回多个值,if语句只使用第一个值
tryCatch({
if (c(TRUE, FALSE)) { print("Hello") } # 条件长度大于1
}, warning = function(w) { print(w$message) })
# 4. Warning: Coercing LHS to a list
# 在赋值操作中,将左侧的对象强制转换为列表
df <- data.frame(a = 1:3)
tryCatch({
df[1] <- list(4:6) # 强制转换
}, warning = function(w) { print(w$message) })
# 5. Warning: NAs introduced by coercion
# 在强制转换过程中引入了NA值,通常是因为某些值无法转换为目标类型
x <- c("1", "2", "three")
tryCatch({
as.numeric(x) # "three"无法转换为数字
}, warning = function(w) { print(w$message) })
2.2 Terminal
......
2.3 Background Jobs
.........
欢迎订阅我们专栏,深度系统地学习R语言。
为帮助大家更出色地掌握临床统计、数据挖掘以及人工智能建模的入门知识和应用,由于众多同学在计算机编程上经验欠缺,特此开设《R 语言与数据科学的终极指南》专栏。该专栏每周至少会定期更新三篇,直到整个专栏更新完成。每篇文章都在 5000 字以上,质量平均分高达 94 分。要提醒大家的是,每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!
专栏《R 语言与数据科学的终极指南》链接:https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482