我想根據行號將數據幀中的字符串(數字'2')替換爲不同的數據幀。這是我輸入:用字符替換數字,具體取決於數據幀的行
df <- "2 2 2 3
3 3 2 1"
df <- read.table(text=df)
這將是我的預期輸出:
dfout <- "1R 1R 1R 3
3 3 2R 1"
dfout <- read.table(text=df)
因此,數字「2」,應通過「1R」的第一行中的替代,通過「2R」的第二行等在較大的矩陣(我的真實數據有超過1000行)。我試了下面的代碼沒有成功:
apply(g1x, 1, function(x) gsub("2", nrow(x), x))
我會很高興在這裏的任何幫助。
在我的例子,我有兩行,第一行我想換成「2」由「1R」,第二行的替代「2」通過' 2R'等。爲了清晰起見,我更新了問題。 – user3091668
@Sotos - 當然,'gsub'會接受函數,如果它們給出正確的值 - 'apply(df,1,function(x)gsub(「2」,length(x),x))''。 – thelatemail
@thelatemail,我認爲他們必須使用'gsubfn'(認爲這是它的目的)。也許我衝了... – Sotos