示例:
datname <- c(101,102,103,104)
a <- c(1,2,3,4)
b <- c(2,4,6,8)
dat <- data.frame(datname,a,b)
我想找到每个数据与datname的比率,并保存为新的数据帧:
with(dat,dat[,2]/dat[,3])
我可以找到上面的比例,但不会打印出相应的数据名。
我尝试过使用[命令,但在这种情况下不起作用
dat[,1][dat[,2]/dat[,3]]
我的预期输出应为:
[1] 101 0.5
[2] 102 0.5
[3] 103 0.5
[4] 104 0.5
答案 0 :(得分:0)
我们可以在trasmute
dplyr
library(dplyr)
dat %>%
transmute(datname, ratio=a/b)
答案 1 :(得分:0)
答案是cbind(dat[,1], dat[,2]/dat[,3])
。参见:
> cbind(dat[,1], dat[,2]/dat[,3])
[,1] [,2]
[1,] 101 0.5
[2,] 102 0.5
[3,] 103 0.5
[4,] 104 0.5