r - 使用 1:n 子集数据表
问题描述
在处理一些数据时,我遇到了子设置 data.table 的问题
我的数据表示例
library(data.table)
datatab <- structure(list(a = c(183591969L, 183591969L, 183591984L, 183591727L,
183591733L), b = c(183591984L, 183591985L, 183591985L, 183591729L,
183591737L)), .Names = c("a", "b"), class = c("data.table", "data.frame"
), row.names = c(NA, -5L))
我只是尝试用一个变量来分割整个事情
a <- 2
datatab[1:a,]
但得到错误
警告消息:在 1:a 中:数值表达式有 5 个元素:仅使用第一个元素
尽管
df <- as.data.frame(datatab)
df[1:a,]
和
datatab[1:2,]
按预期工作。
可能是我没有得到的明显东西。我想这与 data.table 库处理数据的方式有关,但如果有人能澄清一下,我将不胜感激。由于我的真实数据要大得多,我想避免as.data.frame()
解决方案
您正在使用a
作为参数,它恰好是 的一列,data.table
为参数使用不同的名称:
x <- 2
datatab[1:x,]
# a b
#1: 183591969 183591984
#2: 183591969 183591985
推荐阅读
- javascript - 如何在Vue3.0中通过双击打开或关闭自动播放?
- pascal - 致命:语法错误,; 预期但发现标识符 TUNJANGAN
- mysql - React JS Mysql依赖下拉实现在第二个下拉列表中显示整个表
- c# - 使用 JsonConverter 在 C# 中自定义 JSON 反序列化
- javascript - 使用 NodeJS 和 Lambda 从变量调用函数
- ios - 没有按钮的 SwiftUI 安排本地通知?
- java - 为什么我的while循环在我输入一次分数后结束,而我想在它结束之前输入更多
- c++ - 使用带有部分专业化的 std::enable_if<> 与类型有什么区别?
- reactjs - 使用带有 firebase 身份验证的 react-router
- r - 有没有一种简单的方法可以通过 R 中的并行化一次运行多个循环试验?