r - 如何在具有不同长度元素的列表上选择行并使用应用功能
问题描述
a <- list( G1 = data.frame(age = "8", gender = "M"),
G2 = data.frame(age = c("10","11"), gender = c("M", "F")),
G3 = data.frame(age = c("9","6"), gender = c("F", "F")) )
如图所示,所有变量都输入为字符,然后我希望age
在保持gender
为字符的同时恢复为数字。运行lapply
,我得到了让我很困惑的结果。怎么了?
lapply(a, function(x) {x[,1] <- as.numeric(x[,1])} )
$G1
[1] 1
$G2
[1] 1 2
$G3
[1] 2 1
解决方案
按照您的方法,您可以将第一列转换为数字,然后返回完整的数据框,而不仅仅是 1 列。
a[] <- lapply(a, function(x) {
x[,1] <- as.numeric(as.character(x[,1]))
x
})
推荐阅读
- python - 如何将列表 A 的列替换为列表 B 的列?
- typescript - 如何提取函数第一个参数的类型,但同时保持泛型?
- macos - 无法在 MacM1 上安装 tensorflow-macos(安装 grpcio 时出错)
- html - 为 redshift 中的查询创建超链接
- autodesk-forge - 我们可以在 Autodesk Forge 查看器中实现 Autodesk 数量起飞功能吗?
- javascript - Postgresql 日期时间分辨率毫秒兼容 Javascript 日期
- reactjs - 如何优化状态变化引起的react re-renders?
- nginx - 版本“networking.k8s.io/v1beta1”中类型“IngressClass”没有匹配项
- javascript - 加载背景图像后渲染元素
- javascript - 我怎样才能改变我作为听众的形象?