基于R语言的统计分析基础:使用键盘输入数据

在R语言中,键盘输入数据是一种灵活且直接的数据获取方式,适用于处理小数据集或需要即时用户交互的场景。通常用于交互式数据探索和分析、临时数据处理、交互式图形绘制、脚本自动化中的用户交互、特定应用场景下的数据录入中。

比如利用**readline()**函数根据用户输入的参数绘制图形:

R 复制代码
# 绘图函数 
interactive_plot <- function() {  
  n <- as.numeric(readline("请输入点的数量: "))  
  x <- numeric(n)  
  y <- numeric(n)  
  # 输入每个点的坐标  
  for (i in 1:n) {  
    x[i] <- as.numeric(readline(paste("请输入第", i, "个点的x坐标: ")))  
    y[i] <- as.numeric(readline(paste("请输入第", i, "个点的y坐标: ")))  
  }  
  col <- readline("请输入点的颜色('red', 'blue', 'green'): ")  
  cex <- as.numeric(readline("请输入点的大小(1, 2, 3): "))  
  plot(x, y, main="交互式点图", xlab="x坐标", ylab="y坐标", col=col, cex=cex, pch=19)  
  cat("图形已绘制完毕。\n")  
}  

interactive_plot()
使用 edit()函数及fix()函数直接编辑空数据框

**edit()函数及fix()**函数是R语言中常用的手动输入数据的方法,它们会自动调用一个允许手动输入数据的文本编辑器(通常是R自带的图形界面编辑器,但也可以配置为其他文本编辑器)

R 复制代码
df <- data.frame(name = character(0), age = numeric(0),
                 profession = character(0), grade = numeric(0))
df <- edit(df) # 或者 fix(df)

函数运行后即可看到调集出来的数据框,可以直接在数据编辑其中编辑数据。在编辑数据集前,需要先确定好数据是字符型(character)还是数值型(numeric)

点击其余列,可以编辑列名和选择字符型或数值型内容

可以使用命令查看数据集是否建立成功

R 复制代码
View(df)
使用read.table()函数从文本中读取数据

可以将数据存储在一个字符串变量中,这里我给变量命名为**dfTxt。每行数据用换行符分隔,列之间用空格分隔,第一行是列名。随后使用read.table()函数,可以从文本字符串中读取数据,并创建一个数据框。header = TRUE**参数可以提示R语言第一行是列名。

R 复制代码
dfTxt <- "
name age profession grade 
PigMan 15 math 6
feifei 16 math 22
"

df <- read.table(header = TRUE, text = dfTxt)
使用readline()函数直接读取用户输入

**readline()**函数用于从标准输入读取一行文本。这在需要逐个获取用户输入时非常有用,比如循环中询问用户信息。

R 复制代码
name <- readline()  
age <- as.numeric(readline())
number <- as.numeric(readline(prompt = "输入一个数字: "))
使用scan()函数读取用户输入

虽然scan()函数主要用于从文件读取数据,但它也可以直接从标准输入读取,允许用户输入一系列值,直到遇到文件结束符(通常是Ctrl+D在Unix/Linux系统中,或Ctrl+Z后回车在Windows系统中)。

R 复制代码
numbers <- scan()
相关推荐
狂飙的张兴发24 分钟前
认知小文2《成功之路:习惯、学习与实践》
学习·考研·职场和发展·跳槽·学习方法·改行学it·高考
你可以自己看25 分钟前
python的基础语法
开发语言·python
爱编程的小新☆28 分钟前
C语言内存函数
c语言·开发语言·学习
尘浮生1 小时前
Java项目实战II基于Spring Boot的宠物商城网站设计与实现
java·开发语言·spring boot·后端·spring·maven·intellij-idea
勤奋的小王同学~1 小时前
怎么修改mvn的java版本
java·开发语言
夜清寒风1 小时前
opencv学习:图像掩码处理和直方图分析及完整代码
人工智能·opencv·学习·算法·机器学习·计算机视觉
doc_wei1 小时前
Java小区物业管理系统
java·开发语言·spring boot·spring·毕业设计·课程设计·毕设
三玖诶2 小时前
在 Qt 中使用 QLabel 设置 GIF 动态背景
开发语言·qt·命令模式
吃着火锅x唱着歌2 小时前
Go语言设计与实现 学习笔记 第七章 内存管理(1)
笔记·学习·golang
lizi888882 小时前
足球大小球及亚盘数据分析与机器学习实战详解:从数据清洗到模型优化
java·人工智能·机器学习·数据挖掘·数据分析