我以前使用过强制转换函数,没有遇到任何问题。我最近的数据集有问题。我得到这个:
Error: Can't subset columns that don't exist.
x Column `lambs` doesn't exist."
这是一个生成的变量,然后我试图使用它来对整个数据集进行广泛的转换,这样我就可以与另一个关于单个母羊编号的数据集合并。
这就是我写的:
birthwide<-cast(births, ewe~lambs)
如果我给你一个像这样的数据子集:
births<-data.frame(ewe = c(467993,50182754,50182754,50247299),
lambs = c("Lamb1", "Lamb1","Lamb2", "Lamb1"),lid=c(213075, 212479, 231779,228837))
它是有效的,但我不明白为什么它没有读取我的变量。。。。我试过所有报价的变体,包括反勾和其他编造的数据,它很有效。我设置这个变量的方式有问题,它不是";看到";
我可以毫无问题地总结(出生$羔羊(和表格(出生$羊羔(。。。
数据结构:
structure(list(ewe = c(467993, 1239411, 2425980, 2426785,
50182754, 50182754, 50247299, 99999999, 99999999, 317023062),
lid = c(213075, 230520, 562412, 563106, 212479, 231779,
563100, 213013, 229223, 229952), lambs = c("Lamb1", "Lamb1",
"Lamb1", "Lamb1", "Lamb1", "Lamb2", "Lamb1", "Lamb1", "Lamb2",
"Lamb1")), row.names = c(NA, -10L), class = c("tbl_df", "tbl",
"data.frame"))
Stumped。
谢谢!CB-
这里,cast
假设您希望lambs
作为值列,因此它不再是可重写的变量;盖子";列:
reshape::cast(births, ewe ~ lambs, value = "lid")
ewe Lamb1 Lamb2
1 467993 213075 NA
2 1239411 230520 NA
3 2425980 562412 NA
4 2426785 563106 NA
5 50182754 212479 231779
6 50247299 563100 NA
7 99999999 213013 229223
8 317023062 229952 NA