Набор строк фрейма данных на основе десятичных знаков в R?

#r #subset #rows

#r #подмножество #строки

Вопрос:

Я совсем новичок в R, и у меня довольно сложный вопрос. У меня есть большой фрейм данных, состоящий из 110,000 строк, представляющих данные высокого разрешения из ядра осадочных пород. Я хотел бы выбрать несколько строк на основе глубины (которая записывается в мм с точностью до 3 знаков после запятой). Конечно, у меня нет времени просматривать весь фрейм данных и выбирать нужные мне строки. Я хотел бы иметь возможность выбирать нужные строки на основе десятичной части числа, а не первой цифры. Т.е. я хотел бы иметь возможность выполнять подмножество в фрейм данных, где будут возвращены все значения .035. До сих пор я пытался использовать which() функцию, но безуспешно

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

Кто-нибудь может предложить какие-либо подсказки / предложения, как я могу решить эту проблему. Ссылка на первую часть csv фрейма данных

Комментарии:

1. Вам нужны все значения, которые являются ==0.035 или все те, которые заканчиваются на 0.035 (1.035, 2.035 и т.д.)?

Ответ №1:

Добро пожаловать в stack overflow
Не могли бы вы подробнее описать, что вы имеете в виду под не повезло. Вы получили сообщение об ошибке или пустой 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),]