首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将返回data.frame/tibble的函数应用于向量/data.frame列并绑定结果

将返回data.frame/tibble的函数应用于向量/data.frame列并绑定结果,可以使用apply函数或者dplyr包中的mutate函数来实现。

  1. 使用apply函数: apply函数可以将一个函数应用于矩阵或数组的行或列,并返回结果。对于向量或data.frame列的操作,可以将其转换为矩阵或数组形式,然后使用apply函数。

例如,假设有一个向量x和一个返回data.frame的函数my_func,我们想将my_func应用于x并将结果绑定到原始的data.frame中的新列中,可以按照以下步骤操作:

代码语言:txt
复制
# 定义返回data.frame的函数
my_func <- function(x) {
  # 函数操作,返回data.frame
  ...
}

# 假设有一个data.frame df,包含列x
df <- data.frame(x = c(1, 2, 3, 4))

# 将df$x转换为矩阵形式,并应用my_func函数
result <- apply(as.matrix(df$x), 1, my_func)

# 将结果绑定到df中的新列
df$new_column <- result
  1. 使用dplyr包中的mutate函数: dplyr包提供了一组用于数据处理和转换的函数,其中mutate函数可以在data.frame中添加新列,并使用自定义函数操作现有列。

例如,假设有一个data.frame df和一个返回data.frame的函数my_func,我们想将my_func应用于df$x并将结果绑定到df中的新列中,可以按照以下步骤操作:

代码语言:txt
复制
library(dplyr)

# 定义返回data.frame的函数
my_func <- function(x) {
  # 函数操作,返回data.frame
  ...
}

# 假设有一个data.frame df,包含列x
df <- data.frame(x = c(1, 2, 3, 4))

# 使用mutate函数将my_func应用于df$x,并将结果绑定到新列new_column
df <- df %>% mutate(new_column = my_func(x))

以上是将返回data.frame/tibble的函数应用于向量/data.frame列并绑定结果的两种方法。根据具体的需求和使用的编程环境,选择适合的方法进行操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

R数据科学|第七章内容介绍

使用tibble实现简单数据框 tibble是一种简单数据框,它对data.frame功能进行了一些修改,更易于使用。...本文介绍tidyverse核心R包之一——tibble包 创建tibble 使用as_tibble()函数直接数据转换成tibble形式。...通过tibble()函数使用一个向量来创建新 tibbletibble() 会自动重复长度为 1 输入,并可以使用刚刚创建新变量。...> #> 1 a 2 3.6 #> 2 b 1 8.5 对比tibbledata.frame 使用方法 tibble data.frame 打印 tibble只显示前 10 行结果,并且也是适合屏幕...数据全部输出,适合小数据集。 取子集 提取方式相同,但tibble 更严格:它不能进行部分匹配,如果想要访问不存在,它会生成一条警告信息。

1.1K30

R数据科学整洁之道:使用 tibble 实现简单数据框

tidyverse 中许多函数都可以创建 tibble,因为 tibble 是 tidyverse 标准功能之一。 可以通过 tibble() 函数使用一个向量来创建新 tibble。...data.frame() 函数功能要少得多:它不能改变输入类型(例如,不能将字符串转换为因子)、变量名称,也不能创建行名称。...打印 tibble 打印方法进行了优化,只显示前 10 行结果,并且也是适合屏幕,这种方式非 常适合大数据集。...除了打印列名,tibble 还会打印出列类型,这项非常棒功能借鉴于 str() 函数。...tibble 不能进行部分匹配,如果想要访问不存在,它会生成一条警告信息。 tibble 打印时更美观。

1.8K10
  • tidyverse:R语言中相当于python中pandas+matplotlib存在

    从文件中读取数据 purrr:(提供好用编程函数 tibbledata.frame升级款 stringr:处理字符,查找、替换等 forcats:处理因子问题 ?...02 — tibble:高级数据框(data.frame升级版) ——数据()类型一目了然 tibble是R语言中一个用来替换data.frame类型扩展数据框,tibble继承了data.frame...,会自动添加列名 tibble,类型只能回收长度为1输入 tibble,会懒加载参数,并按顺序运行 tibble,是tbl_df类型 tibbledata.frame进化版,有如下优点:生成数据框数据每可以保持原来数据格式.../ 03 — %>%:管道函数 ——左侧值应用到右侧数据data位置 管道函数在tidyverse中,管道符号是数据整理主力,可以把许多功能连在一起,而且简洁好看,比起R基本代码更加容易阅读...#key:原数据框中所有赋给一个新变量key #value:原数据框中所有值赋给一个新变量value #…:可以指定哪些聚到同一中 #na.rm:是否删除缺失值 widedata <-

    4.1K10

    《高效R语言编程》6--高效数据木匠

    tibble会打印每个变量类,data.frame不会 stringAsFactors默认不转换 输出时,只输出前10行 使用tidyr与正则表达式整理数据 整理数据包括数据清理和数据重构,前者是重定格式与标记脏数据...tidyr方便了收集与分割两个常见操作 gather()收集是列名换成新变量,宽表变成长表,spread()是实现相反过程函数。...包提供了模型结果标准输出格式bit.ly[1] P.s,不知道为啥,这网站还得过墙,难道这是架设在了谷哥服务器上。...使用broom::tidy()广泛应用于模型数据,并以标准数据框格式返回模型输出。使用变量名非标准化求值更高效,见R语言 dplyr传递参数_自由 平等~忠诚 奉献-CSDN博客[2]。...unlist()函数作用,就是list结构数据,变成非list数据,即将list数据变成字符串向量或者数字向量形式。

    1.9K20

    R编程(六:向量类型详解1)

    : 如果名称中有确实值的话: 获取向量、矩阵、array 信息函数异同: image.png S3 类向量 一个对象,一旦有了class 属性,则其会变为S3 类型对象: > x1 [1] 3...我们在向量转为因子时,可以使用默认顺序下levels 或手动设定,此时向量本身顺序并不会改变;但如果对已创建因子转换levels,则因子本身顺序也会按照levels 顺序改变。...最大区别在于,list 可以存储不同类型数据。 list 也可以有自己多维矩阵: 从输出结果来看,它与atomic 创建矩阵无二,但本质来说,其是不同。...atomic 矩阵如果元素修改与整体类型不同,则会强迫转型。...个人感觉如果存放复杂或多个纬度数据,使用tibble会好一点: > dfm <- data.frame( + x = 1:3 * 10 + ) > dfm$y <- matrix(1:9,

    45440

    「R」用purrr实现迭代

    )作为输入,向量每个元素应用一个函数,然后返回和输入向量同样长度一个新向量。...这个时候我们会收到一条错误信息,但得不到任何结果。这让人很恼火!我们怎么保证不会出现一条鱼腥了一锅汤? safely()是一个修饰函数(副词),它接收一个函数(动词),对其进行修改返回修改后函数。...这样,修改后函数就不会抛出错误,相反,它总是返回由下面两个元素组成列表: result - 原始结果。如果出现错误,那么它就是NULL error - 错误对象。...当使用函数目的是向屏幕提供输出或文件保存到磁盘——重要是操作过程而不是返回值,我们应该使用游走函数,而不是映射函数。...reduce()函数使用一个“二元函数”(即两个基本输入),将其不断应用于一个列表,直到最后只剩下一个元素。

    4.8K20

    「Workshop」第二十二期 purrr

    Cheatsheet image-20201028165913416 image-20201028165927373 map函数 以map开头一系列函数接受向量为输入,对向量每个元素进行函数运算...,再返回一个新向量,这个新向量长度和原来一样长,向量元素名称也是一样;输出向量类型由map函数后缀来表明: map() makes a list. map_lgl() makes a logical...,所以需要捕获错误信息 可以使用safely()函数,该函数输入是一个函数,返回一个修饰版本,这个修饰版本运行时候不会报错,而是返回两个元素列表(results 和 error): result...:原始结果,如果有错误就是NULL error :报错信息,如果没有报错就是NULL 另一个函数是possibly,输入有两个参数,第一个是我们要运行函数,第二个参数是otherwise,可以用来指定报错返回内容...:以flatten()开头一系列函数和transpose函数 flatten_**函数作用是list"压平",也就是list层级结构给去了: flatten_lgl() returns a logical

    69510

    生信学习小组Day6笔记—Chocolate Ice

    ,能够通过管道数据从一个函数传给另外一个函数,从而用若干函数构成管道依次变换你数据。...管道运算符号为%>%(Windows快捷键为Shift+CTRL+M),其意思是左边运算结果,以输入方式传递给右边函数,若干个函数通过管道连接起来,叫做管道(pipeline)。...( test1, test2, by = 'x') #不在乎test1与test2是否匹配半连接:返回能够与y表匹配x表所有记录semi_joinsemi_join(x = test1, y = test2..., by = 'x')反连接:返回无法与y表匹配x表所记录anti_joinanti_join(x = test2, y = test1, by = 'x')简单合并bind_rows()函数需要两个表格数相同...,而bind_cols()函数则需要两个数据框有相同行数test1 <- data.frame(x = c(1,2,3,4), y = c(10,20,30,40))test2 <- data.frame

    74630

    Day6——R包学习

    options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") install.packages("dplyr")library(dplyr)关于dplyr基础函数以...* %in% 判断前面一个向量元素是否在后面一个向量中## Sepal.Length Sepal.Width Petal.Length Petal.Width Species# 取## 1...unique值unique :唯一值,在数据源只出现了一次,而删除重复项是对出现多次数据只保留一个count(test,Species)# A tibble: 3 x 2Species...y表匹配x表所有记录semi_joinsemi_join(x = test1, y = test2, by = 'x')x z1 b A2 e B3 f C取交集反连接:返回无法与y表匹配x表所记录...()函数和rbind()函数;注意,bind_rows()函数需要两个表格数相同,而bind_cols()函数则需要两个数据框有相同行数test1 <- data.frame(x = c(1,2,3,4

    19100

    手把手教你用R语言读取CSV文件

    read.table函数返回结果data.frame。 read.table函数第一个参数为文件所在路径,可以是本地文件,也可以是网页上文件。本书主要是从网页读取文件。...stringAsFactors参数也可以用在data.frame中。再次创建“Sport”。...readr包中所有数据提取函数返回tibble,该数据类型是data.frame扩展。最明显变化是打印元数据,比如行列数和每数据类型。...注意,数据读取为tbl_df对象,它是tbl扩展,也是data.frame扩展。tbl是data.frame特殊类型,它在dplyr包中定义。每数据类型显示在列名下面,这是个很好功能。...该函数读取速度比read.table函数快,结果为data.table对象。data.table对象是data.frame扩展,其是data.frame优化。

    21.9K21

    学习R包

    取决于你要安装包存在于CRAN网站还是Biocductor。加载命令library和require,两个函数均可。...x和y,代码x == y将把x第一个元素与y第一个元素进行比较,然后x第二个元素与y第二个元素进行比较在代码x%in%y中,x第一个元素与y中所有元素进行比较,然后x第二个元素与y中所有元素进行比较...2## 3 virginica 22个表进行连接test1 <- data.frame(x = c('b','e','f','x'), z...# x z## 1 b A## 2 e B## 3 f C5.反连接:返回无法与y表匹配x表所记录anti_join根据x与y某个共同交集,仅显示x中与y无交集部分,不合并y项中除非交集外其他部分...()函数;注意,bind_rows()函数需要两个表格数相同,而bind_cols()函数则需要两个数据框有相同行数test1 <- data.frame(x = c(1,2,3,4), y = c

    16610

    这些逻辑运算符你都使用正确了吗?

    目录 1 基本逻辑运算符 2 异或(xor) 3 all()和any() 4 实例拆解:如何筛选非零? ---- 正文 1 基本逻辑运算符 注:这里数学运算符也整理了一下,权当回顾一下。...“与”运算(x、y以及运算结果都是向量) X | y向量逻辑“或”运算(x、y以及运算结果都是向量) x && y标量逻辑“与”运算(返回标量) x |...上表中逻辑“与”【&】和逻辑“或”【 | 】是对向量逻辑运算(虽然单个标量也适用),但其返回结果是逻辑向量,是对逻辑运算中每一组元素进行逻辑运算后返回结果。...) > #---比较&与&&---# > x&y [1] TRUE FALSE FALSE FALSE > > x&&y #对比第9行结果可以发现,在逻辑向量逻辑运算中只要包含一个"&"运算TRUE...注图片来自于tidyverse网站:https://www.tidyverse.org/ 示例3:自建函数 + ifelse 来自拴小林(这个确实自己被搞复杂了 ) #---生成包含全0数据集———

    1K20
    领券