根据R中的行或列的类别选择数据帧的元素

根据R中的行或列的类别选择数据帧的元素,r,dataframe,statistics,dataset,p-value,R,Dataframe,Statistics,Dataset,P Value,对于这4个基因中的每一个(每个基因都在列上),我需要测试其平均表达对于病情稳定和进展的患者是否相等,并存储相应的p值。有人能帮我吗?语言是R。 下面是我的数据帧的图片: 假设这是您的数据帧: df = data.frame(y=sample(c("progres.","stable"),100,replace=TRUE),matrix(rnorm(100*4),ncol=4)) colnames(df)[-1] = c("X1000_at","X1001_at","X1002_at","X100

对于这4个基因中的每一个(每个基因都在列上),我需要测试其平均表达对于病情稳定和进展的患者是否相等,并存储相应的p值。有人能帮我吗?语言是R。 下面是我的数据帧的图片:


假设这是您的数据帧:

df = data.frame(y=sample(c("progres.","stable"),100,replace=TRUE),matrix(rnorm(100*4),ncol=4))
colnames(df)[-1] = c("X1000_at","X1001_at","X1002_at","X1003_at")
如果只需要p.值,可以执行以下操作:

apply(df[,-1],2,function(i)t.test(i ~ df$y)[["p.value"]])
  X1000_at   X1001_at   X1002_at   X1003_at 
0.14861795 0.11653459 0.01820033 0.41873270 

在上面,您遍历基因列,t.在由
y
列划分的组之间进行测试,并仅捕获p值。

假设这是您的数据帧:

df = data.frame(y=sample(c("progres.","stable"),100,replace=TRUE),matrix(rnorm(100*4),ncol=4))
colnames(df)[-1] = c("X1000_at","X1001_at","X1002_at","X1003_at")
如果只需要p.值,可以执行以下操作:

apply(df[,-1],2,function(i)t.test(i ~ df$y)[["p.value"]])
  X1000_at   X1001_at   X1002_at   X1003_at 
0.14861795 0.11653459 0.01820033 0.41873270 

在上面,您迭代基因列,t.在由
y
列划分的组之间进行测试,并仅捕获p值。

您是否可以不使用图像?例如,如果您的data.frame被称为df,则执行dput(head(df,6))并粘贴输出?这样我们可以处理您的数据。框架您是否可以不使用图像?例如,如果您的data.frame被称为df,则执行dput(head(df,6))并粘贴输出?通过这种方式,我们可以处理您的数据。框架感谢您的帮助这正是我所需要的,但是您在给我的第二个示例中返回的数据框架的“dm”列是什么?这是方法上的差异。谢谢,但是第一个例子和第二个例子的p.value是不同的。这是正常的吗?是的,第二个是近似值,如果你有很多列要迭代的话。对不起,我没提那件事。如果您只有4列并且想要一个精确的p值,请使用apply(…),因此,如果我有相同的数据帧和10000列,那么恢复p_值的方法是什么?(代码是什么)感谢您的帮助这是我所需要的,但是您在给我的第二个示例中返回的数据帧的“dm”列是什么?这是方法上的差异。谢谢,但是第一个例子和第二个例子的p.value是不同的。这是正常的吗?是的,第二个是近似值,如果你有很多列要迭代的话。对不起,我没提那件事。如果您只有4列并且想要一个精确的p值,请使用apply(…),因此,如果我有相同的数据帧和10000列,那么恢复p_值的方法是什么?(代码是什么)