我对R很陌生,并且有一个非常具有挑战性的问题。我有一个大型数据框,其中包含110,000
行,这些行代表来自沉积物核心的高分辨率数据。我想根据深度选择多行(以毫米记录到3个小数点)。当然,我没有时间遍历整个数据框并选择所需的行。我希望能够根据数字的小数点部分而不是第一个数字选择我想要的行。即我希望能够子集到将返回所有.035值的数据框。到目前为止,我已经尝试使用which()
函数,但是没有运气
newdata <- Linescan_EN18218[which(Linescan_EN18218$Position.mm.== .035),]
任何人都可以提供任何提示/建议来解决我的问题。 Link to the first part of the dataframe csv
答案 0 :(得分:0)
欢迎堆栈溢出
您能否进一步描述一下没有运气的意思。您收到错误消息或空的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),]