首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只导入与特定值匹配的行

只导入与特定值匹配的行
EN

Stack Overflow用户
提问于 2014-06-06 21:18:31
回答 1查看 3.3K关注 0票数 0

我对R很陌生,并且正在使用read.csv导入数据集。我正在使用的数据集可以在这里获得:http://archive.ics.uci.edu/ml/machine-learning-databases/00235/。与其导入整个数据集,然后再列出我需要的内容,我只想从入门中导入我需要的部分。数据集中的第一列标题为“日期”,我只需要与2007年4月的第一周相对应的数据。要读取整个数据集,我可以这样做:

代码语言:javascript
运行
复制
initial <- read.table("household_power_consumption.txt", sep = ";", nrows = 100)
classes <- sapply(initial, class)
powerconsumption <- read.table(file = "household_power_consumption.txt",colClasses = classes, sep = ";", header = TRUE, col.names = c("Date", "Time", "Global_active_power", "Global_reactive_power", "Voltage", "Global_intensity", "Sub_metering_1", "Sub_metering_2", "Sub_metering_3"))

但是,我想知道?read.table是否有办法只允许导入数据集的一个子集,如下所示:

代码语言:javascript
运行
复制
powerconsumption <- read.table(file = "household_power_consumption.txt",colClasses = classes, sep = ";", header = TRUE, col.names = c("Date", "Time", "Global_active_power", "Global_reactive_power", "Voltage", "Global_intensity", "Sub_metering_1", "Sub_metering_2", "Sub_metering_3"), col = (Date==c("1/2/2007", "2/7/2007")))

注意添加了, col = (Date==c("1/2/2007", "2/7/2007")))

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 22:20:24

read.table函数进行了相当多的处理,并且可能会陷入大文件的困境,除非您已经使用了colClasses。因此,如果您只需要一个小子集,从“未消化”版本中选择几行可能对您有利。你可以用两种方式来做。禁食可能是用sed或awk进行外部处理。不过,这里有一个link doing data comparison in awk.,我将向您展示如何使用R。我将为您提供“2007年4月的第一周”的自然语言请求,并假设您的约会日期不是POSIX--标准格式,而是n/n/nnnn格式,没有前导零。

代码语言:javascript
运行
复制
 Lines <- readLines("household_power_consumption.txt")
 subL <- grep("^[1234567]/5/2007", substr(Lines, 1,8)  # a numeric vector
 inSub <- read.table(text=Lines[subL,,], header = TRUE, col.names = c("Date", "Time", "Global_active_power", "Global_reactive_power", "Voltage", "Global_intensity", "Sub_metering_1", "Sub_metering_2", "Sub_metering_3"))

恐怕我不愿意下载一个20 to的文件来回答这个问题,所以您可以从您的“初始”数据对象中发布更好的描述或head()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24090768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档