R 转置数据

R 转置数据,r,duplicates,R,Duplicates,我想做的是从这样的数据配置开始 SAMPLE ENTRY Rep2 4707890 23.323366 1 4707890 23.320814 2 4712037 33.1122 1 4712037 33.1122 2 4719912 3.01136 1 4719912 3.0305 2 4719912 3.01136 3 4714257 81.5364

我想做的是从这样的数据配置开始

SAMPLE  ENTRY          Rep2
4707890 23.323366       1
4707890 23.320814       2
4712037 33.1122         1
4712037 33.1122         2
4719912 3.01136         1
4719912 3.0305          2
4719912 3.01136         3
4714257 81.5364         1
4714257 86.20892366     2
对这样的人

SAMPLE  ENTRY          Rep2 1               2               3
4707890 23.323366       1   23.323366       23.320814   
4707890 23.320814       2           
4712037 33.1122         1   33.1122         33.1122 
4712037 33.1122         2           
4719912 3.01136         1   3.01136         3.0305          3.01136
4719912 3.0305          2           
4719912 3.01136         3           
4714257 81.5364         1   81.5364         86.20892366 
4714257 86.20892366     2
本质上,具有复制结果的样本(在表中通过具有相同的样本编号和顺序复制编号进行标识)的条目值被转换到与第一次复制相关联的列中。复制数量可能会有所不同,但我从未见过超过12个

我怀疑这可以通过熔化/浇铸类型的工艺完成,但到目前为止还没有任何乐趣


多谢各位

至少在样本数据中,这样的内容看起来是有效的:

DF2 = merge(DF, reshape(DF, direction = "wide", idvar = "SAMPLE", timevar = "Rep2"))
DF2[DF2$Rep2 > 1, -(1:3)] <- NA
DF2
#   SAMPLE    ENTRY Rep2  ENTRY.1  ENTRY.2 ENTRY.3
#1 4707890 23.32337    1 23.32337 23.32081      NA
#2 4707890 23.32081    2       NA       NA      NA
#3 4712037 33.11220    1 33.11220 33.11220      NA
#4 4712037 33.11220    2       NA       NA      NA
#5 4714257 81.53640    1 81.53640 86.20892      NA
#6 4714257 86.20892    2       NA       NA      NA
#7 4719912  3.01136    1  3.01136  3.03050 3.01136
#8 4719912  3.03050    2       NA       NA      NA
#9 4719912  3.01136    3       NA       NA      NA
DF2=合并(DF,重塑(DF,direction=“wide”,idvar=“SAMPLE”,timevar=“Rep2”))

DF2[DF2$Rep2>1,-(1:3)]这样的东西看起来是有效的,至少在样本数据中是这样的:

DF2 = merge(DF, reshape(DF, direction = "wide", idvar = "SAMPLE", timevar = "Rep2"))
DF2[DF2$Rep2 > 1, -(1:3)] <- NA
DF2
#   SAMPLE    ENTRY Rep2  ENTRY.1  ENTRY.2 ENTRY.3
#1 4707890 23.32337    1 23.32337 23.32081      NA
#2 4707890 23.32081    2       NA       NA      NA
#3 4712037 33.11220    1 33.11220 33.11220      NA
#4 4712037 33.11220    2       NA       NA      NA
#5 4714257 81.53640    1 81.53640 86.20892      NA
#6 4714257 86.20892    2       NA       NA      NA
#7 4719912  3.01136    1  3.01136  3.03050 3.01136
#8 4719912  3.03050    2       NA       NA      NA
#9 4719912  3.01136    3       NA       NA      NA
DF2=合并(DF,重塑(DF,direction=“wide”,idvar=“SAMPLE”,timevar=“Rep2”))

DF2[DF2$Rep2>1,-(1:3)]这样的东西看起来是有效的,至少在样本数据中是这样的:

DF2 = merge(DF, reshape(DF, direction = "wide", idvar = "SAMPLE", timevar = "Rep2"))
DF2[DF2$Rep2 > 1, -(1:3)] <- NA
DF2
#   SAMPLE    ENTRY Rep2  ENTRY.1  ENTRY.2 ENTRY.3
#1 4707890 23.32337    1 23.32337 23.32081      NA
#2 4707890 23.32081    2       NA       NA      NA
#3 4712037 33.11220    1 33.11220 33.11220      NA
#4 4712037 33.11220    2       NA       NA      NA
#5 4714257 81.53640    1 81.53640 86.20892      NA
#6 4714257 86.20892    2       NA       NA      NA
#7 4719912  3.01136    1  3.01136  3.03050 3.01136
#8 4719912  3.03050    2       NA       NA      NA
#9 4719912  3.01136    3       NA       NA      NA
DF2=合并(DF,重塑(DF,direction=“wide”,idvar=“SAMPLE”,timevar=“Rep2”))

DF2[DF2$Rep2>1,-(1:3)]这样的东西看起来是有效的,至少在样本数据中是这样的:

DF2 = merge(DF, reshape(DF, direction = "wide", idvar = "SAMPLE", timevar = "Rep2"))
DF2[DF2$Rep2 > 1, -(1:3)] <- NA
DF2
#   SAMPLE    ENTRY Rep2  ENTRY.1  ENTRY.2 ENTRY.3
#1 4707890 23.32337    1 23.32337 23.32081      NA
#2 4707890 23.32081    2       NA       NA      NA
#3 4712037 33.11220    1 33.11220 33.11220      NA
#4 4712037 33.11220    2       NA       NA      NA
#5 4714257 81.53640    1 81.53640 86.20892      NA
#6 4714257 86.20892    2       NA       NA      NA
#7 4719912  3.01136    1  3.01136  3.03050 3.01136
#8 4719912  3.03050    2       NA       NA      NA
#9 4719912  3.01136    3       NA       NA      NA
DF2=合并(DF,重塑(DF,direction=“wide”,idvar=“SAMPLE”,timevar=“Rep2”))

亚历克西斯:我发现了一个你所说的让我达到目的的变体:


亚历克西斯:我发现了一个你所说的让我达到目的的变体:


亚历克西斯:我发现了一个你所说的让我达到目的的变体:


亚历克西斯:我发现了一个你所说的让我达到目的的变体:



DF21,-(1:3)]+1!就要放同样的东西了!也许您可以添加一个订单步骤以获得所需的OP输出
DT[order(DT$SAMPLE,DT$ENTRY,DT$Rep2),]
@agstudy:我不知道如何正确地使用
order
这种方式来匹配精确的输出。我只能想出
DF2[order(match(DF2$SAMPLE,unique(DF$SAMPLE)),]
。很明显,请随意编辑!非常感谢。它确实满足了我对虚拟数据的要求,但我需要弄清楚如何将其应用于不同的数据集。在那一刻给了我错误,但给了我希望。再次感谢。@Lee_Kennedy:不客气!也许,你可以用样本数据编辑你的问题,重现你得到的错误?或者,实际数据的
str
dput
可能会有帮助。@alexis_laz-我想根据Rep2和SAMPLE_编号转换输入值。哦-我会编辑并返回-str太长了。+1!就要放同样的东西了!也许您可以添加一个订单步骤以获得所需的OP输出
DT[order(DT$SAMPLE,DT$ENTRY,DT$Rep2),]
@agstudy:我不知道如何正确地使用
order
这种方式来匹配精确的输出。我只能想出
DF2[order(match(DF2$SAMPLE,unique(DF$SAMPLE)),]
。很明显,请随意编辑!非常感谢。它确实满足了我对虚拟数据的要求,但我需要弄清楚如何将其应用于不同的数据集。在那一刻给了我错误,但给了我希望。再次感谢。@Lee_Kennedy:不客气!也许,你可以用样本数据编辑你的问题,重现你得到的错误?或者,实际数据的
str
dput
可能会有帮助。@alexis_laz-我想根据Rep2和SAMPLE_编号转换输入值。哦-我会编辑并返回-str太长了。+1!就要放同样的东西了!也许您可以添加一个订单步骤以获得所需的OP输出
DT[order(DT$SAMPLE,DT$ENTRY,DT$Rep2),]
@agstudy:我不知道如何正确地使用
order
这种方式来匹配精确的输出。我只能想出
DF2[order(match(DF2$SAMPLE,unique(DF$SAMPLE)),]
。很明显,请随意编辑!非常感谢。它确实满足了我对虚拟数据的要求,但我需要弄清楚如何将其应用于不同的数据集。在那一刻给了我错误,但给了我希望。再次感谢。@Lee_Kennedy:不客气!也许,你可以用样本数据编辑你的问题,重现你得到的错误?或者,实际数据的
str
dput
可能会有帮助。@alexis_laz-我想根据Rep2和SAMPLE_编号转换输入值。哦-我会编辑并返回-str太长了。+1!就要放同样的东西了!也许您可以添加一个订单步骤以获得所需的OP输出
DT[order(DT$SAMPLE,DT$ENTRY,DT$Rep2),]
@agstudy:我不知道如何正确地使用
order
这种方式来匹配精确的输出。我只能想出
DF2[order(match(DF2$SAMPLE,unique(DF$SAMPLE)),]
。很明显,请随意编辑!非常感谢。它确实满足了我对虚拟数据的要求,但我需要弄清楚如何将其应用于不同的数据集。在那一刻给了我错误,但给了我希望。再次感谢。@Lee_Kennedy:不客气!也许,你可以用样本数据编辑你的问题,重现你得到的错误?或者,实际数据的
str
dput
可能会有帮助。@alexis_laz-我想根据Rep2和SAMPLE_编号转换输入值。哎哟-我会编辑并返回-str太长了。