如何解决跳过上载数据集末尾的一些行
我正在使用闪亮的应用程序上载和读取文本文件。这是在闪亮的应用程序中读取的方式:
data <- reactive({
req(input$file)
df <- read.table(file=input$file$datapath[input$file$name==input$Select],skip = 15,sep=input$sep,header = input$header,stringsAsFactors = input$stringAsFactors)
updateSelectInput(session,inputId = 'xcol',label = 'X Variable',choices = names(df),selected = names(df)[1])
updateSelectInput(session,inputId = 'ycol',label = 'Y Variable',selected = names(df)[2])
return(df)
})
现在,从数据集中跳过一些初始行确实很容易。可以将skip
参数直接包含在read.table
中,并指示他们要跳过多少行。
有什么方法可以跳过数据集末尾的某些行。说,我想跳过上传数据集中的最后15行。
解决方法
您可以将head
与否定索引一起使用:
df <- data.frame(row = 1:20)
df
head(df,-15)
row
1 1
2 2
3 3
4 4
5 5
,
如果您知道文件的行数,则data.table::fread()
有一个nrows=
参数,因此可以这样做:
data.table::fread("file",nrows = 100) # file has 115 rows
当您不知道行数但希望最后15行消失时,更麻烦的是,一种可能效率不高的方法是:
tmp <- readLines(file)
nr <- length(tmp)
data.table::fread("file",nrows = nr-15)
更新:read.table()
也具有nrows=
参数,并且也执行相同的工作!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。