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

devtools/2024/9/22 14:30:14/

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

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

# 绘图函数 
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自带的图形界面编辑器,但也可以配置为其他文本编辑器)

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

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

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

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

View(df)

使用read.table()函数从文本中读取数据

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

dfTxt <- "
name age profession grade 
PigMan 15 math 6
feifei 16 math 22
"df <- read.table(header = TRUE, text = dfTxt)

 

使用readline()函数直接读取用户输入

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

name <- readline()  
age <- as.numeric(readline())
number <- as.numeric(readline(prompt = "输入一个数字: "))

 

使用scan()函数读取用户输入

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

numbers <- scan()


http://www.ppmy.cn/devtools/115499.html

相关文章

论文阅读笔记:Sapiens: Foundation for Human Vision Models

Sapiens: Foundation for Human Vision Models 1 背景1.1 问题1.2 目标 2 方法3 创新点4 模块4.1 Humans-300M数据集4.2 预训练4.3 2D位姿估计4.4 身体部位分割4.5 深度估计4.6 表面法线估计 5 实验5.1 实现细节5.2 2D位姿估计5.3 身体部位分割5.4 深度估计5.5 表面法线估计5.6…

【设计模式-享元】

Flyweight Pattern&#xff08;享元模式&#xff09; 是一种结构型设计模式&#xff0c;旨在通过共享对象来减少内存使用和提高性能。享元模式特别适用于需要大量相似对象的场景&#xff0c;可以有效地减少内存开销。 核心思想 享元模式通过将对象的共享部分&#xff08;共享…

Dockerfile 安装Centos7、MySQL和Redis

为了创建一个包含 CentOS 7、MySQL 和 Redis 的 Docker 镜像&#xff0c;并持久化 MySQL 和 Redis 的数据&#xff0c;需要&#xff1a; 编写 Dockerfile 安装 CentOS 7、MySQL 和 Redis。在运行 Docker 容器时挂载数据卷来持久化数据。 以下是一个示例 Dockerfile&#xff0…

es6 和 commonJS 模块管理的区别

ES6 模块和 CommonJS 模块是两种广泛使用的 JavaScript 模块化方案。它们之间有许多显著的区别&#xff0c;包括语法、特性、运行时行为、兼容性等方面。 1. 模块引入背景 在 JavaScript 语言发展早期&#xff0c;并没有提供官方的模块化机制。随着应用规模的增加&#xff0c…

学习笔记JVM篇(五)

JVM常用命令参数 1、JPS JPS全称 Java Process Status Tool&#xff0c;这个命令与Liunx的PS很像&#xff0c;下面我们测试一下这个命令&#xff0c;首先编写一段非常简单的Java代码。 JPS的语法 JPS [options] [hostid] options&#xff1a;选项 -q: 只显示进程 ID (PID)…

【C++】—— string模拟实现

前言&#xff1a; 学习了string的使用&#xff0c;总感觉了解不是很深厚&#xff1b;自己模拟实现string类来帮助自己理解。 这里只是实现了一部分内容&#xff08;并没有实现完整的string类&#xff09;。 先来实现string类里面的成员变量&#xff1a; #include<iostream…

python qt5 常用

QT5中如何设置让窗口根据屏幕比例显示设置&#xff1f; desktop QDesktopWidget().screenGeometry() self.resize(int(desktop.width() * 0.3), int(desktop.height()*0.5)) QT5中关于背景穿透问题的处理方式&#xff1f; 场景如下&#xff1a;我们在开发的时候&#xff0c…

【C语言】数据类型和变量

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 数据类型1.1 字符1.2 整型1.3 浮点型1.4 布尔类型 2. signed和unsigned3. 数据类型的取值范围4. 变量4.1 变量的创建4.2 变量的分类 5. 算术操作符&#xff1a;、-、*、/、%5.1 和 -5.2 *5.3 /5.4 % 6. 赋值操作符…