感觉我在这里遗漏了一些明显的东西,所以请提前道歉。 不管怎么说,这里的一些数据a是我想投:

acct_num     year_prem    prem       exc
001          2012         2763585 exclusive
001          2011         2377688 exclusive
001          2010         2083065 exclusive
001          2009         1751722 exclusive
001          2008         1639484 exclusive

但是,施法给了我一个错误,我无法弄清楚/解释:

b <- dcast(a, formula= acct_num + exc ~ year_prem, value.var= prem, fill= NA)

Error in .subset2(x, i, exact = exact) : invalid subscript type 'list'

我不认为我需要fill= NA 但无论有没有,我都会得到同样的错误。 任何帮助,将不胜感激。

===============>>#1 票数:4 已采纳

你应该将prem放在引号中,然后才能工作。 函数dcast()期望value.var=将是列的名称(如此引用)。

> dcast(a, formula= acct_num + exc ~ year_prem, value.var= "prem", fill= NA)
  acct_num       exc    2008    2009    2010    2011    2012
1        1 exclusive 1639484 1751722 2083065 2377688 2763585

  ask by Alex W translate from so

未解决问题?本站智能推荐:

1回复

如何在R中对日期时间进行子集化并转动测量列

我有这样的数据帧 我试图以这种格式对日期进行子集化 在执行此操作时,我还希望将“测量”列转换为各个列,并列出每个类别的计数 我想要的输出是 我试过这样的东西来获得日期范围 如何根据此问题进行子集化。 我尝试使用dcast但没有做到正确。 请提供一些
1回复

如何将2x2列联表转换为长格式数据帧? [重复]

这个问题在这里已有答案: 复制data.frame的每一行并指定每行 7个答案 的复制数 如何将2x2列联表转换为长格式数据帧? 我试过这个: 我得到的不是由Drug vs. No_Drug分类的164行数据框
1回复

在n中从nxm矩阵转换为长矩阵

注意:这不是图形问题。 我有一个nxm矩阵: 我想将其转换为长矩阵: 显然嵌套for循环可以工作,但我知道有很多很好的工具可以在R中重构矩阵。到目前为止,我只发现了从长矩阵或宽矩阵转换为nxm矩阵的文献,而不是相反。 我错过了一些明显的东西吗 我该怎么做这个转换?
1回复

melt.data.table中的格式错误的错误

在data.table或reshape2使用melt ,我需要操纵variable列的值,因此我需要将其作为character类。 如果由于某些格式错误的原因而失败,这将失败。 我不明白问题是什么-也许是错误? 这是我的数据的一小部分: 当我跑步时: 我收到错误消息
1回复

当在R中的data.table中使用“融化”功能时,为什么会收到此错误消息“找不到功能“模式””

我正在使用data.table(1.10.4版)来清理数据(顺便说一句,我已经安装了“ reshape2”),但是我得到了以下消息: melt_check(数据,id.vars,measure.vars,variable.name,value.name)中的错误:找不到函数“模式”
2回复

R:如何将“变量”的子集广播到data.table中的单独列?

我要转换的data table中有一个大数据集。 原始数据集是一个交叉表,在column_names中具有1到2级信息。 因此,我认为我需要melt所有内容,提取相关信息,然后将各个列重新投射回去。 这是我遇到障碍的地方。 以下是简化的模拟数据,显示了我要执行的操作: 从.
2回复

我想将列名称转换为R中的标识列

大家好,我对R很陌生,如果这是一个愚蠢的问题,我们深表歉意。 我有一个看起来像这样的数据框: 我想以2列结尾; 一个在行中带有数字,在另一列中使用当前列名称作为数字的标识符?
1回复

如何根据DF2中的重要变量对DF1中的列变量进行子集化?

我有2个这样的df 期望的输出 我希望我的新数据集只包含那些在df1中标识为重要的变量(即:x1,x2,x5),其值来自df2。 在这个简单的数据集中,我知道我可以做到这一点,但只是删除df2中的x3,x4但理想情况下我想将它应用于更大的数据集,其中我有100多个变量,因此
3回复

将每个物种的总记录转换为x物种记录矩阵

想象一下,我有3种物种的9个采样记录,分布如下: 我想要获得的是一个记录x种类矩阵,并用1和0填充它,例如: 列数与种类数匹配,行数与记录数匹配。 请注意,每一行代表一个物种的唯一记录。
1回复

Reshape2融合错误“'id.vars'中的一个或多个值无效”

我正在尝试融化两列并通过执行以下操作将行名用作ID: 但我得到了错误: 数据看起来像 怎么了?