#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),]