如何删除 R 中的所有非数字行?
How to delete all non-numeric rows in R?
我有一个像下面这样的数据框,其中 ID
是数值,comment1
和 comment2
字符串是我作为 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 现在工作正常。
我有一个像下面这样的数据框,其中 ID
是数值,comment1
和 comment2
字符串是我作为 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 现在工作正常。