gpt4 book ai didi

r - 如何在 dcast (reshape2) 的公式参数中使用列名的字符向量

转载 作者:行者123 更新时间:2023-12-01 08:04:22 25 4
gpt4 key购买 nike

假设我有一个数据框 df有几十个识别变量(在列中)和只有几个测量变量(也在列中)。

为了避免为每个参数重复输入所有变量,我指定了识别和测量的名称 df列到 df_iddf_measured , 分别。输入这些向量以缩短 melt 的参数输入很容易。 ...

df.m  <- melt(df, id.vars = df_id, measure.vars = df_measured)

...但我不知道如何进入 formula =参数在 dcast使用相同的方法来指定我的 id 变量,因为它要求输入指向列的数字位置。

我是否必须制作一个类似于 df_id 的数字位置向量?如果我的输入列按顺序更改,则可能会破坏我的程序功能,或者我可以按名称引用它们并以某种方式仍然让它在 formula = 中工作争论?谢谢。

最佳答案

您可以使用 as.formula构造一个公式。

下面是一个例子:

library(reshape2)
## Example from `melt.data.frame`
names(airquality) <- tolower(names(airquality))
df_id <- c("month", "day")
aq <- melt(airquality, id = df_id)

## Constructing the formula
f <- as.formula(paste(paste(df_id, collapse = " + "), "~ variable"))

## Applying it....
dcast(aq, f, value.var = "value", fun.aggregate = mean)

关于r - 如何在 dcast (reshape2) 的公式参数中使用列名的字符向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com