• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

我的R代码将宽数据帧转换为长格式时出了什么问题?

r 来源:user3115933 5次浏览

我运行下面RRstudio,目的是宽的数据帧(称为“合并”)转换成一个漫长的。我的R代码将宽数据帧转换为长格式时出了什么问题?

> merged 
      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
2017 (A) 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356 
2017 (P) 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630 

以下输出后我:

Description Month RN 
    2017 (A)  Jan  5980 
    2017 (P)  Jan  5762 
    2017 (A)  Feb  5341 
    2017 (P)  Feb  5275 
    ...   ...  ... 

我曾尝试以下(但没有成功):

library(reshape2) 
merged_long <- melt(data=merged, 
       id.vars="Description", 
       variable.name="Month", 
       value.name="RN") 

我收到以下错误信息:

Error: id variables not found in data: Description 

我在做什么错?


===========解决方案如下:

如@Sotos在评论所指出的,在merged数据集的数据rownames需要唯一地识别在熔融数据集的观察。要在融化的数据集中包含rownames,请在代码中添加以下内容。

merged$Description <- rownames(merged) 

然后您的原始代码应该产生预期的结果。

library(reshape2) 
merged_long <- melt(data=merged, 
       id.vars="Description", 
       variable.name="Month", 
       value.name="RN") 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)