我想将一些从数据框派生的值提供给cast()
函数,而不必将其保存在data.frame
中。据我了解,我必须这样做:
df$value <- ifelse(df$x > 0, 1, 0)
cast(df, row ~ col, value = "value")
我真的想做这样的事情:
cast(df, row ~ col, value = ifelse(df$x > 0, 1, 0))
但这不起作用。有什么想法吗?
我可能会这样做:
cast(cbind(df, list(value = ifelse(df$x > 0, 1, 0))), row ~ col, value = "value")
但感觉有点笨拙。
编辑:我发现上面的笨拙解决方案可以简化:cast(cbind(df, value = ifelse(df$x > 0, 1, 0)), row ~ col)
仍然有笨拙的黑客气味。