2015-05-14 70 views
0

代碼描述表:在代碼說明代入編碼變量中的R

Procedure X1 X2 X3 Desc 
1 3852  002 0 0 Brain 
2 3853  003 0 0 Heart 
3 3854  004 0 0 Skin 
4 3876  005 0 0 Throat 

表只與代碼以及這些代碼的頻率:

Procedure Freq 
1 3852  22 
2 3853  3 

我想使表像這樣:

Procedure Freq 
1 Brain  22 
2 Heart  3 

我已經嘗試合併過程變量,但它沒有工作。我用合併命令是:

總< - data.frame(合併(代碼描述表,頻率,通過=「程序」))

2表名是由以假亂真我不得不更換用於分析。感謝您的幫助!

Procedures 2012 2011 2010 2009 
1 PatientIDs 427  419  399  399 
2 ClaimIDs 420  407  389  391 
3 3852  0  0  0  20 
4 3853  0  0  0  8 
5 3854  0  0  0  10 

X1 Procedures X2 X3   Desc      X4 
2 0002  V26 ICD9Proc THER ULTRASOUND OF HEART THER ULTRASOUND OF 
3 0003  V26 ICD9Proc THER ULT PERIPHERAL VES  THER ULT PERIPHERAL 
4 0009  V26 ICD9Proc OTHER THERAPEUTIC ULTSND OTHER THERAPEUTIC 

回答

0

假設你的表是兩個data.frames df1df2

both<-merge(df1,df2) 
both <- both[,c("Desc", "Freq")] 
colnames(both)[1] <- "Procedure" 
+0

我不相信工作。它說我需要一個變量,所以我把我的程序。我不確定這是否是正確的方法。再次感謝您的幫助。對不起,我對R –

+0

非常陌生,當我將它們合併後,我在最終數據集中得到的行數多於表中的程序和頻率。 –

+0

你有更多的專欄比你向我們展示的更多嗎?你能輸入幾行數據嗎? – tcash21

0

如果第一表爲df1並假設僅存在1 「商品說明」 對每個 「步驟」:

desc_map <- unique(df1[c('Procedure', 'Desc')]) 

假設第二個表是df2

df2_merged <- merge(df2, desc_map, by = 'Procedure') 

讓你想要的列:

df_final <- df2_merged[c('Desc', 'Freq')] 
+0

我只是試過,但與合併,我得到了:錯誤fix.by(by.x,x):'由'必須指定一個唯一有效的列 –

+0

很難說,但它看起來像你的列名之一是「程序」而不是「程序」。在這種情況下,你將不得不使用合併(df2,desc_map,by.x =「Procedure」,by.y =「Procedures」) –

+0

是的,我已經試過了,對不起。我剛纔確定了很多次,他們都是一樣的。我讓它運行,但它要麼給我太少的數據要麼太多的數據。 –