r - 根据R中的条件计算列之间的比率

标签 r

嗨,我在这里做一件非常简单的事情。

我有 3 列数据; a、b 和 c。当b的值只大于5时,我想计算b和c的比率。

我使用的代码如下:

a <- c(1,2,3,4,5,6,7,8)
b <- c(2,4,5,8,10,12,15,18)
c <- c (10,9,8,15,31,12,13,12)

df <- data.frame(a,b,c)
 ## Calculate the ratio 
df$d <- with(df,b/c)

我计算了比率,但无法使用那里的条件。我知道它微不足道,但这需要很多时间。我感谢您的帮助。

最佳答案

您可以使用 ifelse .在 b 小于 5 的情况下,您没有说出您想要的结果,所以我假设您想要 NA那里。:

> df$d <- with(df, ifelse(b > 5, b/c, NA))
> df
  a  b  c         d
1 1  2 10        NA
2 2  4  9        NA
3 3  5  8        NA
4 4  8 15 0.5333333
5 5 10 31 0.3225806
6 6 12 12 1.0000000
7 7 15 13 1.1538462
8 8 18 12 1.5000000

关于r - 根据R中的条件计算列之间的比率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15129169/

相关文章:

r - 在 RMarkdown PDF 中,将章节编号从 "X Section"更改为 "Section X"

r - kableExtra:动态add_header_above标签

r - 过滤特定行之后的数据

R 简化 shapefile

python - 如何创建与 R randomForest 相同的 sklearn 随机森林模型?

r - 变量数量不断变化的 glm 模型循环

以 "long"格式 reshape 表格以分隔列

r - 在 R 包中记录重新导出的函数

renderGvis 在 rmarkdown 中不起作用

mysql - R和R MySQL无法将表写入MySQL数据库