有没有一种方法可以根据从csv模板读取的行号值按行号对数据帧进行子集设置?

时间:2019-10-28 14:52:34

标签: r

我有一个基本的职位表,我想根据模板中的值在R中进行修改。最后一步是根据模板(csv)中列为“小时”的行号将基本位置表子集化。

例如,模板(csv)的“小时”列中的第一个值是“ 7:22”。我想阅读此csv并仅保留7:22行。如果“小时”值为“ 1,7:22”,我也希望代码正常工作

我的直觉是尝试将position [template $ hours [1],]用作位置[7:22,],但这会返回NA。使用typeof-我发现template $ hours [1]是一个字符,而7:22是一个整数,但是既不能将template $ hours [1]转换为数字也不是整数。

尝试:

position[template$hours[1], ]
position[as.numeric(template$hours[1]), ]
position[as.integer(template$hours[1]), ]
position[c(template$hours[1]), ]

按尝试的顺序:

不适用 强制引入的NA 强制引入的NA 不适用

编辑:感谢MrFlick的提示

虽然这并不完全是它的工作原理,但实际上应该是相同的。

讨论的“基本职位表”是:

position <- data.frame("Hour" = 1:24, "Position" = 0)

讨论的“模板”是:

template <- data.frame(hours = "7:22")

我希望职位表看起来像这样:

position <- position[7:22, ]

甚至更好:

position$Position[7:22] <- 1

基于以下值:

template$hours[1]

0 个答案:

没有答案