我很高兴能从一个变量中创建新变量 在我的实际数据集中,可以下载here。
给出以下示例数据:
dT<-structure(list(A = c("a1", "a2", "a1", "a1", "a2", "a1", "a1",
"a2", "a1"), B = c("b2", "b2", "b2", "b1", "b2", "b2", "b1",
"b2", "b1"), ID = c("3", "4", "3", "1", "4", "3", "1", "4", "1"
), E = c(0.621142094943352, 0.742109450696123, 0.39439152996948,
0.40694392882818, 0.779607277916503, 0.550579323666347, 0.352622183880119,
0.690660491345867, 0.23378944873769)), class = c("data.table",
"data.frame"), row.names = c(NA, -9L))
此代码可从变量E
中以expected的形式创建多个变量:
library(data.table)
dcast(dT, A + B + ID ~ paste0("E", rowid(ID)))
# A B ID E1 E2 E3
#1 a1 b1 1 0.4069439 0.3526222 0.2337894
#2 a1 b2 3 0.6211421 0.3943915 0.5505793
#3 a2 b2 4 0.7421095 0.7796073 0.6906605
但是,当我将相同的代码应用于较大的数据集时-可用 here,这是我要应用的实际数据 操作
data.table
没有给出预期的输出,因为 如下图所示(可用的here)-这是错误的输出:
library(readr)
mydata <- read_csv("mydata.csv")
library(data.table)
myDT<-dcast(mydata, A + B + ID ~ paste0("E", rowid(ID)))
View(myDT)
我想要的是能够从较大的数据集中获取此输出(the incorrect output),就像在使用较小的数据集(the correct output)时获得的输出一样。 / strong>
我尝试了here和here讨论过的解决方案,但这些问题不适用于我讨论过here的情况。
在此先感谢您的帮助。