如何避免R包中的重塑/重塑2 melt.data.frame冲突
我在一个包中使用如何避免R包中的重塑/重塑2 melt.data.frame冲突,r,reshape2,R,Reshape2,我在一个包中使用reforme2中的melt.data.frame。由于我无法控制的原因,我让用户加载我的包(导入restrape2)…然后加载restrape2包,导致我的包将来出错(官方警告…我的代码输出不正确) 我看到过这样的讨论: 所以我知道我可以使用reforme2:::melt.data.frame来防止冲突,但这会在检查时产生一个我宁愿避免的注释。tidyr中的gather函数也无法解决此问题。下面是一个可复制的示例: library(reshape2) df <- dat
reforme2
中的melt.data.frame
。由于我无法控制的原因,我让用户加载我的包(导入restrape2
)…然后加载restrape2
包,导致我的包将来出错(官方警告…我的代码输出不正确)
我看到过这样的讨论:
所以我知道我可以使用reforme2:::melt.data.frame
来防止冲突,但这会在检查时产生一个我宁愿避免的注释。tidyr
中的gather
函数也无法解决此问题。下面是一个可复制的示例:
library(reshape2)
df <- data.frame(x=rep("a",4),
y=c(1:3,NA),
key=c("g","g","c","d"),
stringsAsFactors = FALSE)
melt(df,id.vars = "key")
library(reshape)
melt(df,id.vars = "key")
reshape2::melt(df,id.vars = "key")
reshape2:::melt.data.frame(df,id.vars = "key") #No problem
reshape2::melt(df, measure.vars = c("x","y"),
variable.name = "variable",
value.name = "value", na.rm = FALSE)
library(tidyr)
gather(df, variable, value, -key)
gather_(df, "variable", "value", c("x","y"))
library(重塑2)
df