Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在代码描述中替换R中的编码变量_R - Fatal编程技术网

在代码描述中替换R中的编码变量

在代码描述中替换R中的编码变量,r,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 385

代码说明表:

    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
我尝试过合并过程变量,但没有成功。我使用的merge命令是:


总计假设您的表位于两个data.frames
df1
df2

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

two如果第一个表是
df1
并且假设每个“过程”只有一个“Desc”:

保留所需的列:

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

df_final我认为这不管用。它说我需要一个by变量,所以我把它放在我的过程中。我不确定这是不是正确的方法。再次感谢你的帮助。抱歉,我对RW非常陌生。当我合并它们时,我在最终数据集中得到的行数要比程序和频率表中的行数多得多。您有比上面显示的更多的列吗?您能
dput
几行数据吗?我添加了一些真实数据。Patientid和claimids只是这些的频率。我有第一个表中程序的匹配程序代码。我意识到对于同一个过程代码有不同的描述。我只是想得到第一个描述,然后忽略后面的描述。再次感谢你的帮助!我刚刚试过,但在合并中,我得到了:fix.by(by.x,x)中的错误:'by'必须指定一个唯一有效的列很难说,但看起来您的列名中有一个是“Procedures”而不是“Procedures”。在这种情况下,您必须使用merge(df2,desc_map,by.x=“Procedure”,by.y=“Procedures”)是的,我已经试过了,对不起。我刚才多次确认它们是一样的。我让它运行,但它要么给我的数据太少,要么给我的数据太多。数据太少通常意味着没有每个过程的描述映射。使用all.x=T修复该问题。数据过多意味着一个过程有多个描述映射。有多种方法可以解决这个问题,但我认为在merge函数中没有
desc_map <- unique(df1[c('Procedure', 'Desc')])
df2_merged <- merge(df2, desc_map, by = 'Procedure')
df_final <- df2_merged[c('Desc', 'Freq')]