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太长了。