【发布时间】:2017-03-29 17:08:30
【问题描述】:
我正在使用 kaggle titanic 数据集,其中 Cabin 列是类字符。我使用下面显示的函数来获取每个 Cabin 的第一个元素。
sapply(df$Cabin,function(x) strsplit(x,NULL)[[1]][1])
Cabin deck
NA NA
C85 C
NA NA
C123 C
NA NA
E46 E
但是,当我使用 dplyr 的 mutate 来完成相同的任务时,我只会得到一列 NA 用于甲板。这些是我尝试使用 mutate 的函数,它们都只返回 NA。
df %>% mutate(deck = ifelse(is.na(Cabin),Cabin, strsplit(Cabin,NULL)[[1]][1]))
和
df %>% mutate(deck = strsplit(Cabin,NULL)[[1]][1])
变异有什么问题还是我做错了什么?
【问题讨论】: