2017-04-19 71 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 +我在哪裏串行。 –