如何删除 R 中的所有非数字行?

How to delete all non-numeric rows in R?

我有一个像下面这样的数据框,其中 ID 是数值,comment1comment2 字符串是我作为 csv 导入的。但是数据框给出的结果类似于下面这样,其中 fifth comment 应该在 comment2 中,并且原始的 ID 值被替换为这个。这仅在几行中随机发生。此外,仅当我在 Azure ML studio 和 RStudio[=26= 中导入我的 R 代码时才会出现此问题] 没有发生数据错位。所以我在想什么,只需删除第一列 ID 不是数值的整行。由于错位字符串值为随机长句,无法进行字符串匹配删除行。而且数据框足够大,我无法手动删除行。请提出建议。

  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"
  )

数字 ID 的子集:

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

模式应匹配以数字开头和结尾的 ID 值,并且仅包含数字。

这是因为您的评论描述中某处有 (,) 并且它破坏了 csv 格式。为避免这种情况,您可以折叠向量

感谢大家的宝贵建议。我刚刚将 dataframe, .xls 转换为 .csv 文件,其中仍包含文本 , 会破坏整个文件。 转换为 .tsv 现在工作正常。