将功能应用于数据框的所有元素

迪娜

我正在尝试对数据框中的所有元素进行一些转换。

当使用常规的apply函数时,我得到一个矩阵而不是一个数据框。有没有一种方法可以直接获取数据框而不添加as.data.frame到每一行?

df = data.frame(a = LETTERS[1:5], b = LETTERS[6:10])

apply(df, 1, tolower) #Matrix
apply(df, 2, tolower) #Matrix
sapply(df, tolower)   #Matrix

as.data.frame(sapply(df, tolower)) # Can I avoid "as.data.frame"?
阿克伦

我们可以使用lapply并将其分配回'df'

df[] <- lapply(df, tolower)

[]保留了相同的结构原始数据集。不建议使用apply将其转换为matrix和。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章