繁体   English   中英

在唯一变量组合之间子集观察数据的数据

[英]Subsetting data on number of observations between unique combination of variables

我有这样一个数据框:

descriptionin = c("sample1","sample1","sample1","sample1","sample1","sample1","sample1","sample1","sample2","sample2","sample3","sample3","sample3","sample3","sample3","sample3")
dilutionin = c(1,10,100,1000,1,10,100,1000,5,5,2,8,32,2,8,32)
conditionin = c("cond1","cond1","cond1","cond1","cond2","cond2","cond2","cond2","cond1","cond2","cond1","cond1","cond1","cond2","cond2","cond2")

testin <- data.frame(descriptionin,dilutionin,conditionin)

并希望将数据框子集到此:

descriptionout = c("sample1","sample1","sample1","sample1","sample1","sample1","sample1","sample1","sample3","sample3","sample3","sample3","sample3","sample3")
dilutionout = c(1,10,100,1000,1,10,100,1000,2,8,32,2,8,32)
conditionout = c("cond1","cond1","cond1","cond1","cond2","cond2","cond2","cond2","cond1","cond1","cond1","cond2","cond2","cond2")

testout <- data.frame(descriptionout,dilutionout,conditionout)

解释一下,我想通过每个唯一的描述/条件组合来对数据框进行子集化,每个描述/条件组合具有多个稀释度(在这种情况下为1,但实际数据集为3)。

谢谢

一种选择是data.table 将'data.frame'转换为'data.table'( setDT(testin)setDT(testin) ),按'descriptionin'和'conditionin'分组,我们发现组中具有多个unique元素的行索引( .I ) 'dilutionin'并使用该索引对行进行子集

library(data.table)
setDT(testin)[testin[, .I[uniqueN(dilutionin)>1], .(descriptionin, conditionin)]$V1]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM