r - 如何制作一个函数,当输入相应的变量时返回一个值?

标签 r

我正在尝试创建一个函数,当我输入“apple”时,它会返回值“1”

data <- data.frame(number = c(1,
                              2,
                              3),
                   fruit = c("apple",
                             "banana",
                             "orange"))

我确信这很简单,但我只是不知道该怎么做。

最佳答案

我们可以使用子集

unlist(subset(data, fruit == "apple", select = 'number'), use.names = FALSE)
#[1] 1

或者使用[

data$number[data$fruit == "apple"]

它可以包装为一个函数

f1 <- function(dat, colNm1, colNm2, stringVal) {
         dat[[colNm2]][dat[[colNm1 == stringVal]
   }

f1(data, "fruit", "number", "apple")

关于r - 如何制作一个函数,当输入相应的变量时返回一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58940515/

相关文章:

r - 如何使用 RPostgreSQL 将数据框中的行追加/更新到 PostgreSQL 数据库表中具有相同列的表?

R 从 .CSV 创建 NetCDF

r - 无法在 R Shiny 应用程序中呈现 R Markdown

r - Tidyverse : Converting numerical data into categorical data for plotting with uneven bin width

r - dplyr::filter 中的多个 if_all() 不起作用

r - 嵌套列表中的唯一类

r - 根据条件传播到宽格式

使用并行计算时 R 卡住,警告 'closing unused connection'

r - 用于 glm.fit 的 predict() 不起作用。为什么?

r - 带 ggplot2 的核型图和 SNP(geom_path、geom_bar、ggbio)