如何按字段类型(例如数字、字符)对数据框进行子集化?

3
我希望能够对我的数据框 DATA 进行数值字段和因子类型字段的分类子集。我的目标是编写通用脚本来汇总我的数据,但是某些函数(如 histquantile)不适用于非数字数据。在因子类型字段上运行 table 函数似乎更合理一些。
我尝试使用
types <- apply( DATA, 2, typeof)

为每个字段创建一个类型列表,然后可以通过它来对DATA进行子集操作。但是这样只会导致错误。我相信有一种简单的方法可以实现这一点,但我已经搜索了很多,却找不到任何方法。
谢谢。

3
你尝试过使用lapply(data,class)吗? - diliop
本来我想把那个写成答案,但也许你应该写? - IRTFM
请查看此帖子:https://dev59.com/0HA65IYBdhLWcg3w5zDB#3572115 - Greg
@Benjamin 如果这个解决了你的问题,你可能想要接受这个答案。 - diliop
2
永远不要使用apply来迭代data.frame列!apply会将data.frame转换为矩阵,这会完全破坏你的数据。 - Marek
显示剩余3条评论
1个回答

9
[既然有效,我将我的评论发布为对此的答案:] 尝试使用lapply(DATA,class)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接