r - R: data.table 同时对多个数据集进行子集化
问题描述
我目前在 R 中使用 data.table 并尝试将几个数据表的列表子集化为一个名为“名称”的特定变量。我曾尝试使用 lapply 这样做,但没有成功。我的代码有问题吗?
这是我尝试过的:
data_tables<-c("one", "two", "three", "four", "five")
lapply(mget(data_tables),function(x)x[, c("name")])
解决方案
我们可以用.(
library(data.table)
lapply(mget(data_tables),function(x)x[, .(name)])
或指定列/列.SDcols
并对其进行子集化.SD
lapply(mget(data_tables),function(x)x[, .SD, .SDcols = 'name'])
或者,如果我们想提取为向量,请使用[[
lapply(mget(data_tables),function(x) x[["name"]])
推荐阅读
- java - 在 OAuth2 中过滤或处理 AuthenticationException
- mocking - 芹菜工人的嘲笑给出了身份验证错误
- visual-studio-code - Vscode 转到定义不适用于 jinja 文件
- spring-boot - mybatis中调用存储过程时出错
- smalltalk - 将共享库 (*.so) 放在何处以避免“错误:未找到外部模块”
- android - 如何修复 qml TextField 在 android 上的行为不端?
- java - 客户端服务器请求过滤
- java - 如何在没有 Jackson 或 GSON 的情况下更改 POJO 类中的文件名称?
- aws-fargate - AWS Fargate 对部署“Web”服务堆栈有用吗?
- javascript - 角度菜单显示不正确