具有colmeans条件的R示例数据帧
我有一个数据“TestA”,如下所示具有colmeans条件的R示例数据帧,r,dataframe,dplyr,tidyverse,purrr,R,Dataframe,Dplyr,Tidyverse,Purrr,我有一个数据“TestA”,如下所示 IDNUMBER B1 B2 B3 B4..... B46 ID1 1 1 0 0 ..... 0 ID2 0 1 0 0 ..... 1 ID3 0 1 0 0 ..... 1 数据分为两组(0和1),200行48列。我想要得到的是我想要选择50行和48列,每列的意思是必须介于0和1之间(不包括0和1) 基本上,对于50行,我的输出是这样的 IDNU
IDNUMBER B1 B2 B3 B4..... B46
ID1 1 1 0 0 ..... 0
ID2 0 1 0 0 ..... 1
ID3 0 1 0 0 ..... 1
数据分为两组(0和1),200行48列。我想要得到的是我想要选择50行和48列,每列的意思是必须介于0和1之间(不包括0和1)
基本上,对于50行,我的输出是这样的
IDNUMBER B1 B2 B3 B4..... B46
ID45 1 1 0 0 ..... 0
ID23 0 1 0 0 ..... 1
ID186 0 1 0 0 ..... 1
...
Colmeans 0.91 0.32 0.03.... (not equal to 0 or 1)
PS:每个变量至少有一个“1”和一个“0”
这是一个我无法克服的迭代过程。如何使用该条件选择(采样或筛选)50行?如果您的数据帧是
x
,类似的方法应该可以工作:
rbind(x, c('Colmeans', colMeans(x[,-1])))
如果您的数据帧是
x
,那么类似的方法应该可以工作:
rbind(x, c('Colmeans', colMeans(x[,-1])))
使用
rowMeans
获取数据帧的列平均值。使用sample
选择平均值介于0和1之间的50个随机行
val <- rowMeans(TestA[-1], na.rm = TRUE)
res <- TestA[sample(which(val > 0 & val < 1), 50), ]
val使用rowMeans
获取数据帧的列平均值。使用sample
选择平均值介于0和1之间的50个随机行
val <- rowMeans(TestA[-1], na.rm = TRUE)
res <- TestA[sample(which(val > 0 & val < 1), 50), ]
val实际上,我需要一个帮助来采样这50行:)我如何根据条件从200行中选择50行?@gradenti你可以这样做,然后sampled\u行实际上,我需要一个帮助来对这50行进行采样:)如何根据条件从200行中选择50行?@gradienti您可以这样做,然后sampled\u行我想您指的是行,即选择中的列。我说得对吗?colMeans==0表示所有元素都是0
,类似地1
表示所有元素都是1。如果此场景中没有可能的示例,该怎么办?要理解它,可以这样想,如果N=1,那么所有的colMeans要么为0,要么为1。并且存在大小为N=1的样本。现在在该示例中再添加一行。平均值为0且新值为0的变量的平均值仍为0。因此,可能存在这样一种情况,即您可能找不到具有所需N的样本。我认为您指的是所选列的平均值。我说得对吗?colMeans==0表示所有元素都是0
,类似地1
表示所有元素都是1。如果此场景中没有可能的示例,该怎么办?要理解它,可以这样想,如果N=1,那么所有的colMeans要么为0,要么为1。并且存在大小为N=1的样本。现在在该示例中再添加一行。平均值为0且新值为0的变量的平均值仍为0。因此,可能存在一种情况,即您可能无法找到具有所需N的样本。