這裏還是比較新的R。我有微博的一列,我試圖創建一個包含轉推柄「RT @blahblah」,像這樣的列:str_extract_all返回一個列表,但我想要一個矢量
Tweets Retweetfrom
RT @john I had a good day RT @john
RT @josh I had a bad day RT @josh
這是我的代碼:
r$Retweetfrom <- str_extract_all(r$Tweets, "^RT[:space:][email protected][:graph:]+")
這是給我的結果是好的,但新的列不是矢量,而是列表。當我嘗試將其列入清單時,它會引發錯誤:
Error in `$<-.data.frame`(`*tmp*`, "Retweetfrom", value = c("@AlpineITW", "@AllScienceGlobe", : replacement has 1168 rows, data has 2306
任何人都知道如何處理此問題?非常感謝。
啊,這是有道理謝謝!但是如果我試圖提取推文中的所有提及呢?有時在一條推文中有不止一個提及。 –
這是一個稍微不同的問題;你的正則表達式抓住了RT'd給出的那個人(並且我第一次錯過了它),你在正則表達式中使用'^',所以你最多隻能得到一個(我又壞了,錯過了'+' ;你會得到他們全部)。如果你想捕獲tweet中的所有'@ user'提到,不管他們是否執行了RT,那麼你需要決定如何在'data.frame'中存儲一個可變長度的列表。 –
現在這變得更有意義了。非常感謝喬納森! –