我是R的初学者。我有一个表,其中只有一列,但有很多行。我需要将两个连续空白行之间的某些行提取到单个列。 或者需要在两个不同行的两个字符串之间提取行。 我不知道该怎么做。预先谢谢你。
答案 0 :(得分:0)
欢迎使用Stack Exchange,并感谢您的帖子。但是,我建议阅读Minimal reproducible & verifiable example和 How to ask 帖子。您将大大提高获得答案的可能性。
要在两个字符串之间的子集列之间使用以下方法(gsub
和data.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