2016-03-07 105 views
1

我有一个数据框像波纹管,其中ID是数字值,而comment1comment2字符串,我正在导入为csv。但数据框架给出的结果如下所示,其中fifth comment应该在comment2中,并且原始的ID值由此替换。这只是随机发生的,只有几行。此外,只有在我导入R代码时,才会出现此问题Azure ML studio,RStudio没有数据误放。所以我在想,只需删除第一列ID不是数值的整行。由于错位字符串值是随机的长句子,我无法进行字符串匹配来删除该行。数据框足够大,我不能手动删除行。建议。如何删除R中的所有非数字行?

ID     Comment1     comment2 
123    This is first comment  this is second 
234    third comment    fourth comment 
fifth comment             
345    sixth comment    seventh comment 

你会发现这里的数据帧的样本,

df <- 
    read.csv(
    "https://docs.google.com/spreadsheets/d/171YXjzm3FsapXSkqgOSos6UGXNRcd1yxmLyvaRnCX5E/pub?output=csv" 
) 
df <- df[-1,] 
df <- df[, 1:12] 
colnames(df) <- 
    c(
    "ID","Created","Comments","Liked_By","Disliked_By", "Recipient_Number", 
    "Sender","Recipients","Read_By", "Subject","Introduction","Body" 
) 
+3

在“评论”字段中有逗号,而且文件中的分隔符使用逗号。 – cory

+0

我明白了,现在我遇到了问题。谢谢@cory –

+0

不,我只是从xls文件保存为.scv,并且它显示保存文本的列也包含逗号。 –

回答

3

子集数字ID:

subset(df, grepl('^\\d+$', df$ID)) 

的模式应该匹配开始,以数字结束ID值,并只包含数字。

1

这是因为你的评论描述某处有(),并且它打破了csv格式。为了避免这种情况,你可以折叠载体

+0

你的意思是使用'sapply'作为有可能的列,' –

+0

是的......但是,我想我错过了这里的观点。您正试图从网上阅读csv。我不确定这是否适合你。当您有数据矩阵并尝试将其保存为.csv时,这将起作用。 – user5249203

+0

不,这不起作用。我不知道,我只是将xls表单保存到csv中。我想这不是一个好主意 –

0

谢谢大家的宝贵意见。我只是将dataframe, .xls转换为.csv文件,其中文本仍然包含,打破了整个文件。 转换成.tsv现在工作正常。

相关问题