从小标题中删除字符

时间:2019-07-18 07:22:28

标签: r

我将一个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

2 个答案:

答案 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))

两个,不-三个评论。

  1. 也许最好不要尝试删除所有看起来不像数字的东西,而是尝试搜索您感兴趣的数据类型,例如模式“ Q [0 -9] [0-9] {4}”。

  2. 下次您发布问题时,请提供一些示例数据(例如,使用dput(data)),并显示一些示例代码,说明您如何尝试自行解决问题。

  3. 您写的是“字符”,但您的意思是“字母字符”,而不是“数字”。这就是为什么另一个答案说“不能”的原因,因为数字也是字符串中的字符。