2017-04-19 40 views
1

我遇到了非结构化文本的问题。我有一个数据框由一列分成多行,我不会在这里显示为简单。我创建了一个简单的例子来更好地描述我所试图做的事:提取特定名称后的一行

DATA 
grey 
blue 
yellow 
green 
white 
black 

我需要提取行,包含我选择的话一前一后。 例如,“blue”这个词就是我的“topic”;我想只提取其后的SINGLE行,获得“yellow”。 我怎么办? 谢谢您的未来建议。

+5

它(DF $ V1 == '蓝色')+ 1 ]'。此外,您“在R中存在非结构化文本问题”...不是Rstudio – Sotos

+1

请给出数据的定义或使用'dput()'显示数据。 [mcve]和http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – jogo

回答

0

这里有一点信息缺乏,但我会解释你可以在两种情况下做什么。

案例1 您拥有的列本身就是数据库的rownames。

您可以通过执行

row.names(dataframe) 

在这种情况下检查,只是在你的数据帧的行数增加一个栏,然后你可以搜索你的价值,并通过给多个放的下一个数据。

案例2当有一列中有你的数据。 然后只是做

a = row.name(df[df$col1=="blue",]) 
b= df[a+1,1] 

b将是你的黄色。

让我知道如果你的数据帧是`df`和列`V1`,后来干脆`$ DF V1 [问题解决了

+0

这正是我正在寻找的(case2);对于缺乏信息抱歉,但我是一个新用户。 – Silvia

+0

只有一件事更多:在这种情况下,我需要提取蓝色和白色之间的数据,我怎么能改变这段代码? – Silvia

+0

你可以用户a +我在哪里串行。 –