我有以下數據框。我希望在兩個數據框中跨X列匹配值(兩列中的X值相同),並在Cost列中添加值,並創建一個新的數據框,其中包含列X,列lat和列long,然後顯示如下所示的合併/總結值通過匹配兩個數據幀中的值的總和值
data1
X Cost lat long
1 RA123 60 -113.8 NA
2 RA124 50 -113.8 NA
3 RB131 40 -113.8 NA
4 RB132 30 -113.8 NA
5 RB133 20 -113.8 NA
6 RC134 10 -113.8 NA
7 RC135 No -113.9 NA
8 RD136 -113.7 NA
data2
X Cost lat long
1 RA123 10 -113.8 NA
2 RA124 20 -113.8 NA
3 RB131 40 -113.8 NA
4 RB132 30 -113.8 NA
5 RB133 50 -113.8 NA
6 RC134 60 -113.8 NA
7 RC135 No -113.9 NA
8 RD136 -113.7 NA
consolidated # this dataframe contains sum of cost from dataframe 1 and 2 but also has original columns
X Cost lat long
1 RA123 70 -113.8 NA
2 RA124 70 -113.8 NA
3 RB131 80 -113.8 NA
4 RB132 60 -113.8 NA
5 RB133 70 -113.8 NA
6 RC134 70 -113.8 NA
7 RC135 No -113.9 NA
8 RD136 -113.7 NA
「成本」中的某些值是文本字符串,有些值是空白/無值。我想現在忽略文本字符串,並且沒有值/空單元格,我想要一個NA。
更新: 我使用下面的代碼來獲取Cost的總和值並保留所有原始列,並忽略文本/字符串和NA值,即任何存在文本字符串的位置,該值顯示NA。那裏有沒有也進入價值空單元格顯示NA:
Consolidated$Cost<- as.numeric(as.character(Consolidated$cost.x)) + as.numeric(as.character(Consolidated$cost.y))
現在,我需要做的是能夠做的就是哪裏有文本字符串,我需要能夠顯示「TextValue」爲價值而不是NA。爲了突出顯示,無論字符串值是什麼,對於數據1和數據2兩者中的任何給定值X都是相同的。
更新:我已經使用重命名合併列「TextValue」的那些行:
Consolidated$Cost[is.na(Consolidated$Cost)] <- "TextValue"
我希望第一步自身內這樣做。但我想這也可以。
告訴我們更多關於'X'列的信息,'data1'和'data2'是否一樣? – Julius
哦,是的,對不起。 X中的列是相同的。可能不是相同的順序,但X值將在兩列相同 – oivemaria
'data2 $ Cost <-data2 $ Cost + data1 $ Cost [match(data2 $ X,data1 $ X)]' –