我将一个xlx文件导入到Rstudio。它在该列的开头有一些注释。我希望能够自动删除。
例如,在下面的列中,我要删除前8行。通常,tibble_df在每列中都有不同的行要删除。有什么办法可以删除所有带有任何字符或字符串的行?事先通知您
A tibble: 326 x 1
X__1
<chr>
1 NA
2 NA
3 Start
4 End
5 Frequency
6 Name
7 Code
8 CURRENCY
9 Q1 1980
10 Q2 1980
答案 0 :(得分:0)
是否可以删除所有包含任何字符或字符串的行?
不。可能不会。如果有字符,则整列将被强制为“字符”类,因此每一行将为字符。
答案 1 :(得分:0)
您始终可以使用正则表达式检查给定值是否仅由“字符”组成(并且不包含任何数字):
grepl("^[[:alpha:]]*$", df$X_1)
或(不太普遍)
grepl("^[a-zA-Z]*$", df$X_1)
您还可以在正则表达式中添加空格:
grepl("^[[:alpha:][:space:]]*$", df$X_1)
要过滤,您可以使用:
df %>% filter(!grepl("^[[:alpha:][:space:]]*$", X_1))
两个,不-三个评论。
也许最好不要尝试删除所有看起来不像数字的东西,而是尝试搜索您感兴趣的数据类型,例如模式“ Q [0 -9] [0-9] {4}”。
下次您发布问题时,请提供一些示例数据(例如,使用dput(data)
),并显示一些示例代码,说明您如何尝试自行解决问题。
您写的是“字符”,但您的意思是“字母字符”,而不是“数字”。这就是为什么另一个答案说“不能”的原因,因为数字也是字符串中的字符。