假設我有兩個類似的data.framesR:總結dataframes
x1 <- data.frame(letters[1:26],1:26,1:26)
x2 <- data.frame(letters[1:26],1:26,1:26)
我將如何創建,增加了每個數據幀的第2列在一起,新的數據幀,並且每個數據幀的第三列在一起。
以x3 [2] = C(2,4,6,8,...)?
假設我有兩個類似的data.framesR:總結dataframes
x1 <- data.frame(letters[1:26],1:26,1:26)
x2 <- data.frame(letters[1:26],1:26,1:26)
我將如何創建,增加了每個數據幀的第2列在一起,新的數據幀,並且每個數據幀的第三列在一起。
以x3 [2] = C(2,4,6,8,...)?
你有這個想法?
x1[2]+x2[3]
哈哈,我只是砸到自己的臉。我爲什麼不試試! – 2011-02-02 10:17:15
你想:
> x3 <- data.frame(A = letters, S2 = x1[,2] + x2[,2], S3 = x1[,3] + x2[,3])
> head(x3)
A S2 S3
1 a 2 2
2 b 4 4
3 c 6 6
4 d 8 8
5 e 10 10
6 f 12 12
如果是這樣,你想要一個更通用的解決方案,或許考慮mapply
:
> head(mapply(`+`, x1[,2:3], x2[2:3]))
X1.26 X1.26.1
[1,] 2 2
[2,] 4 4
[3,] 6 6
[4,] 8 8
[5,] 10 10
[6,] 12 12
使用這個來構建與新的數據幀第一列完整,我們有:
> x3 <- data.frame(letters, mapply(`+`, x1[,2:3], x2[2:3]))
> head(x3)
letters X1.26 X1.26.1
1 a 2 2
2 b 4 4
3 c 6 6
4 d 8 8
5 e 10 10
6 f 12 12
`X3 <-data.frame(X1 [[1]] + X2 [[1]],X1 [[2]] + X2 [[2]])`或需要通用的解決方案? – Marek 2011-02-02 09:32:46