我有一个巨大的csv文件,我想将它导入R进行一些分析。 csv中的一些行没有任何逗号,需要丢弃。
R如何逐行读取csv并跳过这些行?
例如,这是列表
id,length,height
1,70,50
2,82,40
3,64,30
these lines
should be discarded
4,48,22
5,32,14
我希望在R中输入数据:
id,length,height
1,70,50
2,82,40
3,64,30
4,48,22
5,32,14
编辑:我applogize我没有发送一个好例子。我们如何改进这些数据的答案。我需要一个能够检测没有逗号的行的答案,而不是一个能够检测没有数字的行的答案。
id,length,height
1,70,50
2,82,40
3,64,30
rsammsa='b'
sdasdsa='a'
sadas='021210'
@sss
4,48,22
5,32,14
具有所需的输出
答案 0 :(得分:4)
我们可以使用readLines
读取数据,然后使用{{删除包含所有非数字字符的行以及从第一个(^
)到最后一个($
)的空格1}}。使用grep
read.table/read.csv
根据OP显示的新数据,我们可以修改lines <- readLines("yourfile.txt")
lines1 <- lines[!grepl("^[A-Za-z ]+$", lines)]
dat <- read.table(text=lines1, sep=",",
header=TRUE, stringsAsFactors=FALSE)
dat
# id length height
#1 1 70 50
#2 2 82 40
#3 3 64 30
#4 4 48 22
#5 5 32 14
grep
然后像以前一样阅读
lines1 <- lines[c(TRUE,!grepl('[^0-9,]', lines[-1]))]