如何使用比率打印列名称

时间:2016-12-12 06:37:49

标签: r dataframe

示例:

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

2 个答案:

答案 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