我有一个列表(包括83个数据帧),并希望在整个列表中将其中一个变量(即Mn,参见下面的“实践”df )乘以10000。然后,我希望找到Mn的最大值(在每个数据帧中),然后保留这个值(最大值)和它下面的所有值(在每个数据帧中)。与这些Mn值一起,我希望保留数据帧中所有其他变量(即Ba,Sr)中的相应值。对于所有变量,我想从每个数据帧中排除这一点上的所有值。一旦我完成了这个简化,我想将Mn返回到它的初始值(即,Mn除以10000)。
下面是练习脚本和我想要达到的目标(先把Mn乘以10000,然后再除以10000 )。如能提供任何协助,将不胜感激。
Ba <- c(1,1,1,2,2)
Sr
使用apply系列中的函数可以很容易地加速R中的循环。如何在下面的代码中使用apply函数来加快速度?注意,在循环内,在每次迭代中,一列被置换,并且函数被应用于新数据帧(即,具有一列置换的初始数据帧)。我似乎不能让apply工作,因为新的数据帧必须在循环中构建。
#x <- data.frame(a=1:10,b=11:20,c=21:30) #small example
x <- data.frame(matrix(runif(50*100),nrow=50,ncol=100)) #larger example
y <- rowMeans(x)
start <- S
我有一套15个数据框架来处理蛋白质序列,我的目标是分析蛋白质随时间的变化。然而,我的数据帧大约有5000个基因。因此,我正在寻找一种方法,以简化我的数据,以便更容易的分析。
下面是一个示例数据框架。
> sample
p1 p2 p3 year
1 a d d 1970
2 a c e 1970
3 b d e 1970
4 b c d 1985
5 b c d 1985
6 b c d 1999
我想要做的是每年分析每个职位(p1、p2和p3),并返回当年该位置上最常见的条目,从而创建一个每年只有一个序列的新数据框架。生成的数据框架应该如下所示:
我只是写了一个块来找出互相关值的最大峰值,但是当我运行循环代码时,根本没有输出。所以我只想问一下,在写循环的时候,我的逻辑是不是有问题,或者有没有什么可以修改顺序的地方。
我想要输出的逻辑是:
for (i in 1:n) {
if (y[i]=max(y[i]) & x[i]>0) {
p=x[i]
}
else if (y[i]=min(y[i] & x[i]<0) {
p=-x[i]
}
}
其余的则被省略,因为它们什么也不输入。请注意,x[i]和y[i]位于同一数据帧中。
下面是我的代码(我发现我在d1输入上犯了一个大错误
我有一个数据帧,其中包括每个时间的多行数据,并希望按时间分组,以创建一个压缩数据帧。列a和b是来自其他列的累加和,并且应该在每个时间组中保持具有最高x的行的值,而不是总和或平均值。 x time group value cumsum_A cumsum_B
1 0 A 0 0 0
2 0 B 0 0 0
3 0 A 0 0 0
4 1 A 0 0 0
5 1 B
我有一个数据框,看起来像这样:
Reach Chem HQ
a Mercury 1.12
a Nickel 1.65
b Mercury 1.54
b Nickel 2.34
b Cadmium 3.12
c Mercury 2.12
c Nickel 2.34
我想通过仅保留具有最高HQ的每个Reach的记录来精简数据帧,结果如下:
Reach Chem HQ
a Nickel 1.65
b Cadmium 3.12
c Nickel 2.34
做这件事最好的方法是什么?
我刚刚开始学习R编程,对于处理重复的值,特别是在数据帧的单个列中的重复值,我没有什么疑问。例如,考虑一个'Sample‘dataframe `
> Sample
id time1 time2 user group
21 21 21.7 16.1 A 1
22 22 22.6 17.0 A 2
23 23 20.9 16.2 A 3
24 24
这是我在r studio中的数据帧。我在找能产生年龄最大的学生名字的代码。
students.df #Name of dataframe
name DAD BDA gender nationality age
1 Amy 80 70 F IRL 20
2 Bill 65 50 M UK 21
3 Carl 50 80 M IRL 22
我的问题与有关。
本质上的问题是:如何根据同一数据帧中单独列中的重复组在一列中选择最大值?
在那篇文章中,用户EDi 介绍了如何完成这个任务。
我的问题是:如何完成相同的任务,但不是报告最大值,而是在第三列中报告与最大值相关的值?。
例如:
假设我有一个data.frame:
集团价值年A 12 1933 A 10 2010 B 3 1935 B 5 1978 B 6 2011 C 1 1954 D 3 1933 D 4 1978
对于分组变量的每个级别,我希望提取最大值发生的年份。因此,结果应该是一个数据帧,分组变量的每级有一行:
A组年1933 b 2011年c 1
我在R中有一个数据帧,它有3个类别:比赛,马,预测评级。Pred评级是线性回归模型的输出。我想使用下面的伪代码对我的回归结果运行蒙特卡洛模拟:
for each race
sim = matrix(NA, nrow = 100,000, ncol = length(horses))
for each horse
sim[, j] = monteCarlo(predicted value)
for each row in sim
Results = which.max()
我不认为我正确地使用了which.max(),但我可以阅读它并弄清楚这一部分。我主要