将两个连续空白行之间的某些行提取到R中的单个列

时间:2018-08-29 11:58:26

标签: r

我是R的初学者。我有一个表,其中只有一列,但有很多行。我需要将两个连续空白行之间的某些行提取到单个列。 或者需要在两个不同行的两个字符串之间提取行。 我不知道该怎么做。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

欢迎使用Stack Exchange,并感谢您的帖子。但是,我建议阅读Minimal reproducible & verifiable example How to ask 帖子。您将大大提高获得答案的可能性。

要在两个字符串之间的子集列之间使用以下方法(gsubdata.frame子设置):

df <- data.frame(foo = c("X","", "A", "B", "C", "D", "A", "", "E"), stringsAsFactors = FALSE)
df
#    foo
# 1   X
# 2    
# 3   A
# 4   B
# 5   C
# 6   D
# 7   A
# 8    
# 9   E

# empty string
empty_between <- grep("^$", df$foo)
df[(empty_between[1] + 1):(empty_between[2] - 1), , drop = FALSE]
#    foo
# 3   A
# 4   B
# 5   C
# 6   D
# 7   A

# between two strings (in this case "A")
string_between <- grep("^A$", df$foo)
df[(string_between[1] + 1):(string_between[2] - 1), , drop = FALSE]
#    foo
# 4   B
# 5   C
# 6   D