广告
返回顶部
首页 > 资讯 > 精选 >R语言中怎么读取前n行数据
  • 272
分享到

R语言中怎么读取前n行数据

2023-06-14 19:06:06 272人浏览 八月长安
摘要

小编给大家分享一下R语言中怎么读取前n行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的

小编给大家分享一下R语言中怎么读取前n行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

什么是R语言

R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具

通常我们读取文件时都会读取全部的文件然后再进行操作,但是当读取的数据量很大是读取的时间会很长,而且占用RAM,对于写测试代码有点不方便。

所以只读取前n行数据是一个挺不错的函数

##file:读取文件路径##n:读取的前n行##header:是否有标题行readfile<-function(file, n=1000, header=T){  pt <- file(file, "r")  name <- NULL  if(header){    name <- strsplit(readLines(pt, 1), split=',')[[1]];  #读取标题    f1 <- readLines(pt, n)    data <- read.table(text=f1, sep=',', col.names=name)  }else{    data <- read.table(text=f1, sep=',')  }  close(pt)  data }

测试,最近制作linux启动盘误将移动硬盘当U盘,要死要死的,近500G资料丢失,因为制成启动盘所以资料还找不回来。

所以没有大型数据做测试。

之前200M的文件本人电脑上读取前10000行也是秒读的。

(data <- readfile(file="mtcars.csv", n=5, header=T))       X..        X.mpg. X.cyl. X.disp. X.hp. X.drat.  X.wt.1       Mazda RX4   21.0    6   160     110    3.90   2.620  2   Mazda RX4 Wag   21.0    6   160     110    3.90   2.875  3      Datsun 710   22.8    4   108      93    3.85   2.320  4  Hornet 4 Drive   21.4    6   258     110    3.08   3.215  class(data)[1] "data.frame"

补充:R语言(数据读写操作)

本节介绍一些实用的数据处理函数(如行、列合并),以及如何从各种数据源读、写数据。

实用函数

函数含义
length()对象的长度。如 2 行 3 列的矩阵,其长度为 6。
dim()对象的维度。如 2 3 表示对象是二维的,有 2 行 3 列。
str()对象的结构。常用于查看数据框各列的数据类型、或者因子的分级数量。
class()对象的类。比如矩阵的返回结果是 matrix。
typeof()对象内数据的类型。比如矩阵的返回结果是 integer。
mode()对象的模式。比如矩阵会返回 numeric。
names()对象中各成分的名称。
cbind()按列合并多个对象。
rbind()按行合并多个对象。
objectname输出对象。
head()输出对象的前部,对于数据框而言是前6行。通过 head(obj, N) 来指定输出前 N 行。
tail()类似地,输出对象的后部。
ls(NULL)无参数函数。显示当前所有对象的名称列表。
rm()删除单个或多个对象。使用 rm(list = ls()) 可以删除除句点开头的隐藏对象外的所有对象。

一个 ls() 函数的例子:

a <- matrix(1:6, nrow=2, ncol=3)ls() # 目前的对象只有 a

‘a'

手动输入

使用需要赋值的 edit() 函数,或者无需写在赋值语句内的 fix() 函数。

dt <- data.frame(age = numeric(0), gender = character(0), weight = numeric(0))# dt <- edit(dt)  # 需要自赋值# fix(dt)  # 无需自赋值

遗憾的是,在 Jupyter Notebook 现行的版本中,尚且不支持 edit() 函数。不过用户可以使用 fix() 函数。

读取文件

关于怎样读取来自 URL 地址的网络文件,R 可以实现,但这里不做讨论。以下只讨论本地数据源的读写。

分隔符文件

利用 read.table() 函数即可。其常用的参数有:

read.table(file, [header=T/F, sep=" ", row.names=, col.names=, na.strings=,        colClasses=, quote=, skip=, stringAsFactors=T/F,])

其中,可选参数的含义大多较好理解:

header 表示文件首行是否是列名而不是数据;

sep 是列间分隔符;na.strings 指定一个字符向量,内部所有的元素在读取时会被转换为 NA;

colClasses 用于指派各列的类型,如 =c(“numeric”, “character”, “NULL”) 指定了前两列的类型并跳过了第三列;

skip 用于跳过文件的最开始的若干行;

stringAsFactors 为 TRUE(默认值)时表示字符向量按因子处理,设为 FALSE 可以提升大文本处理速度。

data.path <- paste(getwd(), '/data/iris.data.csv', sep='')dt <- read.table(data.path, header=T, sep=",")head(dt)
X5.1X3.5X1.4X0.2Iris.setosa
4.93.01.40.2Iris-setosa
4.73.21.30.2Iris-setosa
4.63.11.50.2Iris-setosa
5.03.61.40.2Iris-setosa
5.43.91.70.4Iris-setosa
4.63.41.40.3Iris-setosa
# 利用 str() 函数查看其信息str(dt)
'data.frame':149 obs. of  5 variables: $ X5.1       : num  4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 5.4 ... $ X3.5       : num  3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 3.7 ... $ X1.4       : num  1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 1.5 ... $ X0.2       : num  0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 0.2 ... $ Iris.setosa: Factor w/ 3 levels "Iris-setosa",..: 1 1 1 1 1 1 1 1 1 1 ...

须知:

如果列名中包含空格,R 会将空格替换为句点。

多数情况下,stringAsFactors 可以设为 FALSE。但是本例中的字符变量表示植物的种类,此处读成因子是正确的。

函数 read.csv() 能够读取 csv 文件,但是功能不如 read.table() —— 后者能处理非 csv 文本。

处理 excel 文件

读取一个 Excel 文件最佳的方式,是预先将其转为 csv 格式,并用上述的 read.table() 方法读取。

你也可以查找关于 xlsx 包的相关内容,来获知如何直接操作 xlsx 文件。此处略过不提。

可以看一下以前写的文章:

统计软件数据:SAS/SPSS/Stata

需要用到 foreign 包。

SAS:使用 read.ssd()。如果你安装了 SAS,可以使用 Hmisc 包的 sas.get()。

SPSS:使用 read.spss(),或者 Hmisc 包的 spss.get()。

Stata:使用 read.data()。

数据库

一个方法是使用 ODBC 接口。针对你的数据库类型,安装 ODBC 驱动;然后在 R 中安装 RODBC 包。

另一个方法是使用 JDBC 接口,只不过需要 RJDBC 包。

写入文件

在我们对于数据进行清洗之后,往往需要把清洗结果输出到一个新文件中。这里就以 csv 格式为例吧。一个通常的 write.table()/write.csv() 的例子:

write.csv(dt, "filename.csv", row.names=F)

其中 row.names 指定为 FALSE,否则第一列会生成行号一样的数据。

以上是“R语言中怎么读取前n行数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: R语言中怎么读取前n行数据

本文链接: https://www.lsjlt.com/news/274405.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言中怎么读取前n行数据
    小编给大家分享一下R语言中怎么读取前n行数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的...
    99+
    2023-06-14
  • R语言-如何读取前n行数据
    通常我们读取文件时都会读取全部的文件然后再进行操作,但是当读取的数据量很大是读取的时间会很长,而且占用RAM,对于写测试代码有点不方便。 所以只读取前n行数据是一个挺不错的函数 ...
    99+
    2022-11-12
  • R语言如何读取前几行数据
    在R语言中,你可以使用head()函数来读取数据的前几行。head()函数的语法如下:head(data, n)其中,data是你要...
    99+
    2023-09-11
    R语言
  • r语言怎么取出特定数据行
    在R语言中,可以使用以下几种方法来取出特定数据行: 使用索引值:可以使用方括号 [] 来指定要取出的行的索引值。例如,要取出第三...
    99+
    2023-10-26
    r语言
  • R语言读取excel数据的方法(两行命令)
    安装库 安装xlsx install.packages("xlsx") 使用 library(xlsx) ray = read.xlsx('D:/Code/R/Data i...
    99+
    2022-11-11
  • R语言数据读取以及数据保存方式
    一、R语言读取文本文件: 1、文件目录操作: getwd() : 返回当前工作目录 setwd("d:/data") 更改工作目录 2、常用的读取指令read read.table(...
    99+
    2022-11-12
  • r语言怎么提取部分数据
    在R语言中,可以使用下列方法提取部分数据: 使用下标提取部分数据:可以使用方括号 [] 来指定要提取的数据的下标。例如,要提取向...
    99+
    2023-10-24
    r语言
  • R语言读取文件报错怎么解决
    当R语言读取文件报错时,可以尝试以下几种解决方法: 检查文件路径:确保文件路径是正确的,并且文件存在于指定的路径中。 检查文...
    99+
    2023-10-23
    R语言
  • R语言如何读取excel数据的简单方法
    本篇内容主要讲解“R语言如何读取excel数据的简单方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言如何读取excel数据的简单方法”吧!安装库安装xlsxinstall.package...
    99+
    2023-06-08
  • c语言怎么读取文件行数
    要读取文件的行数,可以按照行的方式逐行读取文件内容,并计算行数。下面是一个示例代码:```c#include int main() ...
    99+
    2023-09-15
    c语言
  • 怎么在R语言中利用xlsx包读写Excel数据
    怎么在R语言中利用xlsx包读写Excel数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下载安装xlsx(Rstudio会同步下载并安装rJava, xlsxjars两...
    99+
    2023-06-14
  • R语言怎么使用cgdsr包获取TCGA数据
    本篇内容主要讲解“R语言怎么使用cgdsr包获取TCGA数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言怎么使用cgdsr包获取TCGA数据”吧!TCGA数据源众所周知,TCGA数据库是...
    99+
    2023-07-02
  • r语言怎么把一行数据变成多行
    在R语言中,可以使用`pivot_longer()`函数将一行数据转换为多行。该函数是tidyverse包中的一部分,用于对数据进行...
    99+
    2023-10-26
    r语言
  • R语言中怎么利用sapply函数提取列表中的数据
    R语言中怎么利用sapply函数提取列表中的数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。y<-c("100-D","100-A&quo...
    99+
    2023-06-02
  • c语言怎么读取数组中的数
    在C语言中,可以使用循环结构(例如for循环或while循环)来依次读取数组中的元素。下面是两种常用的方法:1. 使用下标访问数组元...
    99+
    2023-09-14
    c语言
  • r语言怎么导入excel数据
    在R语言中,可以使用`read.xlsx()`函数来导入Excel数据。首先,需要安装和加载`readxl`包。可以使用以下代码完成...
    99+
    2023-09-13
    r语言
  • 怎么在R语言中导入CSV数据
    这期内容当中小编将会给大家带来有关怎么在R语言中导入CSV数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。第一、查看读取路径:getwd()```getwd() #获取文件存储位置[1]&nb...
    99+
    2023-06-13
  • 怎么在R语言中对数据进行重新编码
    怎么在R语言中对数据进行重新编码?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。(一)使用逻辑判断式(1)现假设我们需要将下面的连续型变量x按照10与20分成三个...
    99+
    2023-06-14
  • 使用R语言怎么获取指定位置的数据
    这期内容当中小编将会给大家带来有关使用R语言怎么获取指定位置的数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。R语言-获取指定位置的数据R中采用数据对象+[ , ]的方式获取对应位置的数据,根据填入索引...
    99+
    2023-06-14
  • C语言怎么实现逐行读取
    在C语言中,可以使用fgets()函数来逐行读取文件中的内容。fgets()函数的原型如下:char *fgets(char *st...
    99+
    2023-09-14
    C语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作