2016-06-10 105 views
0

我操縱stargazer包生成的迴歸表,該表創建表並將其存儲爲長度大於1(自然)的字符對象。將子字符串插入字符對象中R

我想通過插入一些關於模型的信息(例如將一些變量分組以獲得更多信息給讀者)來操縱該字符對象。最終,它是將多個「行」字符/字符串插入現有字符對象的過程。

這是一個最小的工作示例。

thislittle <- c("this", "little", "to", "the", "market") 
piggywent <- c("piggy", "went") 

我想插入piggywentthislittle得到這個complete對象。爲了我的具體目的(超出這個最小工作示例),我需要指定插入這個其他字符對象的確切元素(這裏:第二個)。

這裏是我承認這可能是一個簡單的任務,但我完全不習慣於操縱R中的字符串和字符對象。我也不熟悉術語,這使得搜索毫無結果。我已經想出瞭如何覆蓋一些行,但這是關於它。

任何意見將不勝感激。

+0

'C(thislittle [1:2],piggywent,thislittle [3:5]) [1] 「這」, 「小」, 「小豬」, 「去」 「到」 「該」 「市場」 '? – Psidom

+0

'c(thislittle [a < - 1:2],piggywent,thislittle [-a])'稍微短一點,避免必須知道全長:) – Therkel

+0

兩者都可以工作,但@ Therkel的方法是很好的概括。這對我想做的工作很好。 – steve

回答

1

通過定義你的thislittle第一位的指標,您可以在追加矢量的其餘部分用減號來刪除這些索引。如果它更復雜的話,這可以自然地在單獨的一行中完成。

c(thislittle[a <- 1:2], piggywent, thislittle[-a]) 
# [1] "this" "little" "piggy" "went" "to"  "the" "market" 
0
mySplit=which(thislittle=="little") 
myl=length(thislittle) 

littleHead= thislittle[1:mySplit] 
littleTail= thislittle[(mySplit+1):myl] 
complete=append(littleHead, append(piggywent, littleTail)) 

Hope it helps 
+0

'littleTail'可以簡化爲'littleTail = thislittle [ - (1:mySplit)]'。那麼你不需要'myl'。 – Therkel

+0

好點!謝謝你的提示。 –