将行转换为列时出现tidyr错误
我想将行转换为列,以返回每个模式的平均成本。我试图使用pivot_函数,但它给出了以下错误。 错误:此tidyselect接口尚不支持谓词。 我与软件包作者联系,建议使用将行转换为列时出现tidyr错误,r,tidyr,R,Tidyr,我想将行转换为列,以返回每个模式的平均成本。我试图使用pivot_函数,但它给出了以下错误。 错误:此tidyselect接口尚不支持谓词。 我与软件包作者联系,建议使用eval\u select() 我尝试更新软件包,但问题仍然存在。除了pivot_更广泛之外,还有其他方法可以达到预期的效果吗? 我的数据帧prcostdata如下所示 S447.1 cost Car 100 Government Ambulance 50 Jeep
eval\u select()
我尝试更新软件包,但问题仍然存在。除了pivot_更广泛之外,还有其他方法可以达到预期的效果吗?
我的数据帧prcostdata
如下所示
S447.1 cost
Car 100
Government Ambulance 50
Jeep 600
Scooter 800
Government Ambulance 100
Car 200
Jeep 1500
Scooter 750
期望输出
Government Ambulance Car Jeep Scooter
75 150 1050 775
这是我的密码
library(dplyr)
library(tidyr)
trans <- c("Government Ambulance","Car","Jeep","Scooter")
prcostmode<-prcostdata %>%
arrange(match(S447.1, trans)) %>%
pivot_wider(names_from = S447.1, values_from = mean)
库(dplyr)
图书馆(tidyr)
反式%
枢轴宽度(名称=S447.1,值=平均值)
像这样使用tidyr
df%>%
枢轴(名称取自=“S447.1”,值取自=“成本”,值取自=平均值)
返回
#一个tible:1 x 4
政府救护车吉普车
1 150 75 1050 775
资料 结构(列表(S447.1=c(“汽车”、“政府救护车”、“吉普车”), “滑板车”、“政府救护车”、“汽车”、“吉普车”、“滑板车”), 成本=c(100,50,600,800,100,200,1500,750)),等级=c(“规格待定”, “tbl_df”,“tbl”,“data.frame”),row.names=c(NA,-8L),spec=structure(list( cols=list(S447.1=structure(list(),class=c)(“收集器字符”, “收集器”)),成本=结构(列表(),类=c(“收集器”, “收集器”)),默认值=结构(list(),class=c(“收集器”, “收集器”)),跳过=1),class=“col_spec”))
像这样使用
tidyr
df%>%
枢轴(名称取自=“S447.1”,值取自=“成本”,值取自=平均值)
返回
#一个tible:1 x 4
政府救护车吉普车
1 150 75 1050 775
资料 结构(列表(S447.1=c(“汽车”、“政府救护车”、“吉普车”), “滑板车”、“政府救护车”、“汽车”、“吉普车”、“滑板车”), 成本=c(100,50,600,800,100,200,1500,750)),等级=c(“规格待定”, “tbl_df”,“tbl”,“data.frame”),row.names=c(NA,-8L),spec=structure(list( cols=list(S447.1=structure(list(),class=c)(“收集器字符”, “收集器”)),成本=结构(列表(),类=c(“收集器”, “收集器”)),默认值=结构(list(),class=c(“收集器”, “收集器”)),跳过=1),class=“col_spec”)) 数据表解决方案:
setDT(df)
dcast(df, .~S447.1, fun = mean, value.var = "cost")
数据表解决方案:
setDT(df)
dcast(df, .~S447.1, fun = mean, value.var = "cost")
我得到以下错误。值中存在错误。\u fn[[value]]:类型为“closure”的对象不可再附加。您使用的是哪个版本的
tidyr
?也许你必须更新你的软件包。我得到以下错误。值中存在错误。\u fn[[value]]:类型为“closure”的对象不可再附加。您使用的是哪个版本的tidyr
?也许你必须更新你的软件包。不错,但是sum
应该是mean
。不错,但是sum
应该是mean
。