1
我想要做的是這樣的:R:添加data.frame(包括數字和字符)細胞在另一個data.frame
> a <- data.frame (col1=c(NA,NA,NA,NA), col2=c(NA,NA,NA,NA), col3=c(NA,NA,NA,NA))
> b <- data.frame(cola="test", colb=1)
> a[1,2:3] <- b
> a
col1 col2 col3
1 NA test 1
2 NA NA NA
3 NA NA NA
4 NA NA NA
不過,我得到了通過執行上面的代碼是:
> a
col1 col2 col3
1 NA 1 1
2 NA NA NA
3 NA NA NA
4 NA NA NA
我怎樣才能在另一個data.frame添加字符到特定行?
我可以將字符添加到單個單元格,但似乎字符會自動轉換爲數字,如果我添加兩個或更多。
> a[1,2] <- "test"
> a
col1 col2 col3
1 NA test NA
2 NA <NA> NA
3 NA <NA> NA
4 NA <NA> NA
它當然可以工作,但是你能解釋一下這裏發生了什麼嗎? '<-'檢查替換'b $ cola'的第一個元素的類型,發現它是一個不能被賦值給'a [1,2]的類型(因子),移動到第二個元素替換'b $ colb',分配它,然後回收它? – tchakravarty
@fgnu它與回收沒有任何關係。在內部,因素值表示爲整數(從1開始)。在原始命令中,內部值被分配給'a',而不是因子等級的標籤。 –
謝謝!它完美的作品! – user51966