【问题标题】:Subsetting dataframe rows based on decimals in R?基于R中的小数子集数据框行?
【发布时间】:2019-03-11 16:10:24
【问题描述】:

我对 R 很陌生,并且有一个颇具挑战性的问题。我有一个大型数据框,其中包含 110,000 行,表示来自沉积物核心的高分辨率数据。我想根据深度选择多行(以毫米记录到小数点后 3 位)。当然,我没有时间浏览整个数据框并选择我需要的行。我希望能够根据数字的小数点部分而不是第一个数字来选择我想要的行。 IE。我希望能够子集到将返回所有 .035 值的数据帧。到目前为止,我已经尝试过使用 which() 函数但没有运气

newdata <- Linescan_EN18218[which(Linescan_EN18218$Position.mm.== .035),]

任何人都可以提供任何提示/建议我如何解决这个问题。 Link to the first part of the dataframe csv

【问题讨论】:

  • 您想要所有的值都是==0.035 还是所有以0.035 结尾的值(1.035、2.035 等)?

标签: r subset rows


【解决方案1】:

欢迎堆栈溢出
您能否进一步描述一下您对没有运气的意思。您是否收到错误消息或空的 data.frame? 原则上,您的方法应该有效。我已经用模拟数据复制了它。

n = 100
test <- data.frame(
                        a = 1:n,
                        b = rnorm(n = n),
                        c = sample(c(0.1,0.035, 0.0001), size = n, replace  =T)
)


newdata <- test[which(test$c == 0.035),]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多