将两个连续空白行之间的某些行提取到R中的单个列
我是R的初学者。我有一个只有一列但有许多行的表。我需要将两个连续空白行之间的某些行提取到一个列中。 或者需要在两个不同行的两个字符串之间提取行。将两个连续空白行之间的某些行提取到R中的单个列,r,R,我是R的初学者。我有一个只有一列但有许多行的表。我需要将两个连续空白行之间的某些行提取到一个列中。 或者需要在两个不同行的两个字符串之间提取行。 我不知道怎么做。提前感谢。欢迎使用Stack Exchange,并感谢您的帖子。不过,我建议大家阅读并发表文章。你将大大提高得到答案的概率 要在两个字符串之间对列进行子集设置,可以使用以下方法(gsub和data.frame子集设置): df请包括示例数据、预期输出和您尝试过的代码。请看:当您甚至没有给时间来很好地阐述问题时,不要期望有一个完整的代码!
我不知道怎么做。提前感谢。欢迎使用Stack Exchange,并感谢您的帖子。不过,我建议大家阅读并发表文章。你将大大提高得到答案的概率 要在两个字符串之间对列进行子集设置,可以使用以下方法(
gsub
和data.frame
子集设置):
df请包括示例数据、预期输出和您尝试过的代码。请看:当您甚至没有给时间来很好地阐述问题时,不要期望有一个完整的代码!!谢谢你的语言很不精确。请澄清:“表”
您可能指的是数据框
或矩阵
<代码>“空行”
是指空字符串“
还是缺少值NA
<代码>“在两个不同行的两个字符串之间提取行”这非常广泛。在任何情况下,您都不会透露字符串的特征/形式。您的问题可以通过正则表达式
和?grepl
解决。
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