1
从其他塔计算一列的值有关数据帧AB:创建循环函数中的R
AB<-data.frame(ID=c(1,2,4),A=c(2,8,8),B=c(6,2,2),dE=c(0,0,0))
我想应用以下公式:AB$dE=AB$B/AB$A
ID A B dE
1 2 6 0
2 8 2 0
4 8 2 0
转换的以上:
ID A B dE
1 2 6 3
2 8 2 0.25
4 8 2 4
因为我有包含A和B的不同列名的几个文件,这将是更实际编写一个函数,像
dEs <- function(data,nume,denom){
#define which datafile and numerator/denom column
#so in case of AB this becomes AB$dE;
# i dont know the correct way to do this.
dE=data.'$dE'
start=data.'$'.nume #to become AB$A
end=data.'$'.denom #to become AB$B
for(i in data){
dE[i] <- (start[i]/end[i])
}
}
这样我就可以在必要时改变分子/分母。
这是无稽之谈这里写一个函数,因为你不需要任何环路 - 只写'AB $ DE = AB $ B/AB $ A'(或更好的'AB $ dE <-AB $ B/AB $ A')。 – mbq