首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与lapply一起使用strsplit

与lapply一起使用strsplit
EN

Stack Overflow用户
提问于 2022-09-17 05:39:31
回答 1查看 44关注 0票数 0

我有个问题,就是用最后的函数来使用strsplit。我正在使用泰坦尼克号数据集,我想用",“和”来分隔名字。“并摘录“先生”、“夫人”等等。

我尝试了这段代码并给出了错误

代码语言:javascript
复制
lapply(data$Name, strsplit(data$Name, split = "[,.]")[[1]][2])

get中的错误(as.character(好玩),mode = "function",envir = envir):找不到‘Mr’of mode 'function‘的对象

但是,此代码工作正常。

代码语言:javascript
复制
lapply(data$Name, function(x)strsplit(x, split = "[,.]")[[1]][2])

[995]“先生”

我不知道这两者有什么区别..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-17 05:51:23

lapply的第二个参数需要是一个函数。表达式strsplit(data$Name, split = "[,.]")[[1]][2]不是一个函数,它是应用于data$Name的带有附加参数的strplit()的输出。

在第二个示例中,它确实有一个(匿名)函数作为第二个参数,很明显,lapply需要对第一个参数的每个元素做什么。

考虑:

代码语言:javascript
复制
data <- list(1,2,3)

lapply(data, paste0(data, "_")) # Error, paste0(data, "_") is a vector, not a function
lapply(data, function(x) paste0(x, "_")) # Works
代码语言:javascript
复制
[[1]]
[1] "1_"

[[2]]
[1] "2_"

[[3]]
[1] "3_"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73752400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档