我有几个CSV文件由空气传感器(TSI Bluesky和AirAsure)记录下来.该设备将数据记录到其SD卡中.与许多机器记录的文件一样,前59行是以#开头的注释,用于记录序列号等基本信息.这些音符很容易通过添加skip=59跳过.但是,通过打破记录,这些注释可能会出现在CSV文件的中间.同时,列名将再次重复.下面我有一个例子.

#note
#note
#note
#note
col1 col2 col3
unit1 unit2 unit3
1 2 3
1 2 3
1 2 3
#note
#note
#note
#note
col1 col2 col3
unit1 unit2 unit3
1 2 3
1 2 3
1 2 3

我如何跳过所有的noteunit,而只保留一个列名和所有数字?

推荐答案

此代码从文本中读取数据,因此如果您从某个文件夹加载CSV文件,请判断分隔符是否为"\t"或""

comment.char参数筛选所有注释:#note

text <- 
"
#note       
#note       
#note       
#note       
col1    col2    col3
unit1   unit2   unit3
1   2   3
1   2   3
1   2   3
#note       
#note       
#note       
#note       
col1    col2    col3
unit1   unit2   unit3
1   2   3
1   2   3
1   2   3
"
library(dplyr)

df <- read.csv(text = text, comment.char = "#", sep = "\t")
filter(df, !col1 %in% c('col1', 'unit1'))

输出:

col1 col2 col3
1    1    2    3
2    1    2    3
3    1    2    3
4    1    2    3
5    1    2    3
6    1    2    3

R相关问答推荐

修改dDeliverr中列表列的最后一个元素

在Julia中调用R函数

如果窗口在CLARME或集团之外,则有条件领先/滞后滚动总和返回NA

在ggplot的注释表格中突出显示最大值

基于shiny 应用程序中的日期范围子集xts索引

在R中列表的结尾添加数字载体

如何使用shinyChatR包配置聊天机器人

如何将在HW上运行的R中的消息(错误、警告等)作为批处理任务输出

如何使用rmarkdown和kableExtra删除包含折叠行的表的第一列的名称

使用tidyverse方法绑定行并从一组管道列表执行左连接

过滤器数据.基于两列的帧行和R中的外部向量

Rplotly中的Sankey Diagram:意外连接&

如何在R forestplot中为多条垂直线分配唯一的 colored颜色 ?

条形图顶部与其错误条形图不对齐

在带有`R`中的`ggmosaic`的马赛克图中使用图案而不是 colored颜色

如何移除GGPlot中超出与面相交的任何格网像元

停止ggplot将多行减少到一行

基于R中的辅助向量中的值有条件地连接向量中的字符串

计算来自单独分组的分幅的值的百分位数

Data.table::Shift type=允许扩展数据(&Q;LAG&Q;)