Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 随机返回数据帧中子集的行号_R_Random - Fatal编程技术网

R 随机返回数据帧中子集的行号

R 随机返回数据帧中子集的行号,r,random,R,Random,我希望能够从数据集中随机返回一个行号,其中行是数据的子集。例如,数据帧 x.f<-data.frame( G = c("M","M","M","M","M","M","F","F","F","F","F","F"), A = c("1","2","3","1","2","3","1","2","3","1","2","3"), E = c("W","W","W","B","B","B","W","W","W","B","B","B")) x.f请尝试一个:哪

我希望能够从数据集中随机返回一个行号,其中行是数据的子集。例如,数据帧

x.f<-data.frame(
     G = c("M","M","M","M","M","M","F","F","F","F","F","F"),
     A = c("1","2","3","1","2","3","1","2","3","1","2","3"),
     E = c("W","W","W","B","B","B","W","W","W","B","B","B"))

x.f请尝试一个:
哪个((x.f$G==“M”)和(x.f$A==3))
请尝试一个:
哪个((x.f$G==“M”)和(x.f$A==3))
或者:

row.names(subset(x.f, x.f$G == "M" & x.f$A == 3))
[1] "3" "6"
或者可能是这样:

row.names(subset(x.f, x.f$G == "M" & x.f$A == 3))
[1] "3" "6"

使用Sourabh和
sample
的答案,您可以尝试:

# create a function using the sample function, which selects one value by chance
foo <- function(G, A, data){
  sample(which(data$G == G & data$A == A), 1)
}

foo("M", 3, x.f)
3
#使用sample函数创建一个函数,该函数随机选择一个值

foo使用Sourabh和
sample的答案,您可以尝试:

# create a function using the sample function, which selects one value by chance
foo <- function(G, A, data){
  sample(which(data$G == G & data$A == A), 1)
}

foo("M", 3, x.f)
3
#使用sample函数创建一个函数,该函数随机选择一个值

foo其他任何一个答案都会给您一个符合条件的行列表,但不会随机选择一行。有关完整答案:

sample(which(x.f$G == "M" & x.f$A == 3),1)


一切都会好起来的。可能有两种或三种其他方法可以生成与一组条件匹配的行索引或名称列表。

其他任何一种答案都会给出符合条件的行列表,但不会随机选择一行。有关完整答案:

sample(which(x.f$G == "M" & x.f$A == 3),1)


一切都会好起来的。可能有两种或三种其他方法可以生成与一组条件匹配的行索引或名称列表。

您希望获得所有行或仅随机选择的一行,例如,偶然选择?请仅获得一行,即在本例中为3行或6行,概率相等。您希望获得所有行或仅随机选择的一行,偶然?请只排一行(在这种情况下是3行还是6行,概率相等)。好的开始,谢谢。然后我可以随机抽取一个值,概率相等,选择3或6?好的开始,谢谢。然后,我可以随机抽取一个值,以相同的概率,选择一个3或6?看起来不错,并且清楚地解释了任务是如何完成的。感谢Souabh和Jimbou。看起来不错,并且清楚地解释了任务是如何完成的。多亏了苏阿布和金布。