我对R完全陌生.我真的很感谢你的帮助!这是我的问题。我有一个数据集,它是关于不同饲料喂养的鸡的体重增加。我为所有数据创建了一个data.frame。我想找出体重增加最少的鸡的身份。因此,我首先对数据进行排序:sort(all$'weight.diff'),但我不知道如何从体重增加最少的鸡中提取所有信息。我还想知道如何为体重增加最多的鸡确定饮食。
下面是我所拥有的数据的一个例子
X1 <- c(1,2,3,4,5,6,7,8,9,10,11,12)
X2 <- c('A','B','B','D','D','A','A','A','B','C','C','A')
X3 <- c(126,114,128,120,68,106,112,163,109,158,117,83)
X4 <- c(269,212,259,231,76,220,288,318,250,361,197,169)
all <- data.frame('ID'=X1,diet=X2,'10'=X3,'20'=X4)
all X5 <- X4-X3
all <- data.frame(all,'diff'=X5)
all sort(all$'diff')谢谢!
发布于 2013-10-16 02:20:07
您的代码中有一些bug,我认为您指的是所有的$X5。在那之后你什么都不需要。
这两种方法中的任何一种都可以提取出所增加的重量最少的信息。
all[which(all$X5 == min(all$X5)), ]
all[order(all$X5), ][1, ]为了从所获得的权重中获得信息,只需添加递减= TRUE位,然后将第一行只包含您感兴趣的列。
all[order(all$X5, decreasing = TRUE), ][1, 'diet']发布于 2013-10-16 02:07:26
不需要在这里排序,您可以使用which.min
all[which.min(all$diff),]
ID diet X3 X4 diff
5 5 D 68 76 8PS :要创建变量diff,可以这样做:
all <- data.frame('ID'=X1,diet=X2,X3=X3,X4=X4)
all <- transform(all,diff=X4-X3)https://stackoverflow.com/questions/19394063
复制相似问题