Как заменить NA (отсутствующие значения) в кадре данных с соседними значениями

Похоже, у вас есть проблемы слияния из другого файла манифеста в вашем проекте. Многие имена элементов могут появляться в манифесте несколько раз, например, несколько <uses-permission> элементов. Многие из них имеют идентификатор, обычно android:name, который отличает один от другого. В общем, если два источника манифеста предоставляют один и тот же элемент (т. Е. Одно и то же имя элемента, одно и то же значение android: name), эти два элемента сами объединяются, что означает:

  • Любые атрибуты, которые находятся в один, но не другой, добавляются к объединенному элементу.
  • Любые атрибуты, которые находятся в обоих и не идентичны по значению, приводят к ошибке компиляции конфликта слияния, если только разрешение не указано с помощью маркера.
  • Все дочерние элементы (например, внутри an) объединены, применяя те же правила.

Иногда правила слияния по умолчанию не работают к вашему удовлетворению. В частности, при возникновении конфликтов сборка завершится неудачей, и, вероятно, это нежелательный результат. Чтобы объявить, кто победит в случае конфликтов, вы можете использовать tools:* attributes в элементах манифеста. В частности:

  • `tools: node указывает, как разрешить конфликт между двумя редакциями данного конкретного элемента XML (например, для одного и того же android: name)
  • [113 ] указывает на то, что некоторые атрибуты из издания манифеста с более низким приоритетом должны быть перезаписаны их заменяющими значениями из издания манифеста с более высоким приоритетом
  • tools:remove указывает, что определенные атрибуты из издания с более низким приоритетом манифест должен быть полностью удален

Каждый из них, находящийся в пространстве имен инструментов, потребует, чтобы у вас было xmlns:tools="http://schemas.android.com/tools" в корневом элементе, если его там еще нет. Эти атрибуты влияют только на инструменты сборки и не влияют на время выполнения, кроме как с точки зрения того, как инструменты сборки создают ваше приложение на основе атрибутов инструментов.

17
задан Ahmedov 19 March 2017 в 01:31
поделиться

2 ответа

Правильно отформатированные ваши данные выглядят так

862 2006-05-19 6.241603 5.774208 
863 2006-05-20 NA       NA 
864 2006-05-21 NA       NA 
865 2006-05-22 6.383929 5.906426 
866 2006-05-23 6.782068 6.268758 
867 2006-05-24 6.534616 6.013767 
868 2006-05-25 6.370312 5.856366 
869 2006-05-26 6.225175 5.781617 
870 2006-05-27 NA       NA

и имеют характер временных рядов. Поэтому я бы загрузил в объект класса zoo (из пакета zoo ), поскольку это позволяет вам выбрать несколько стратегий - см. Ниже. Какой из них вы выберете, зависит от характера ваших данных и приложения. В общем, поле «вычисления недостающих данных» называется условным исчислением данных и существует довольно большая литература.

R> x <- zoo(X[,3:4], order.by=as.Date(X[,2]))
R> x
               x     y
2006-05-19 6.242 5.774
2006-05-20    NA    NA
2006-05-21    NA    NA
2006-05-22 6.384 5.906
2006-05-23 6.782 6.269
2006-05-24 6.535 6.014
2006-05-25 6.370 5.856
2006-05-26 6.225 5.782
2006-05-27    NA    NA
R> na.locf(x)  # last observation carried forward
               x     y
2006-05-19 6.242 5.774
2006-05-20 6.242 5.774
2006-05-21 6.242 5.774
2006-05-22 6.384 5.906
2006-05-23 6.782 6.269
2006-05-24 6.535 6.014
2006-05-25 6.370 5.856
2006-05-26 6.225 5.782
2006-05-27 6.225 5.782
R> na.approx(x)  # approximation based on before/after values
               x     y
2006-05-19 6.242 5.774
2006-05-20 6.289 5.818
2006-05-21 6.336 5.862
2006-05-22 6.384 5.906
2006-05-23 6.782 6.269
2006-05-24 6.535 6.014
2006-05-25 6.370 5.856
2006-05-26 6.225 5.782
R> na.spline(x)   # spline fit ...
               x     y
2006-05-19 6.242 5.774
2006-05-20 5.585 5.159
2006-05-21 5.797 5.358
2006-05-22 6.384 5.906
2006-05-23 6.782 6.269
2006-05-24 6.535 6.014
2006-05-25 6.370 5.856
2006-05-26 6.225 5.782
2006-05-27 5.973 5.716
R> 
34
ответ дан 30 November 2019 в 12:07
поделиться

Это, кажется, временной ряд, таким образом, замена отсутствующего значения временного ряда (обвинение) методы, вероятно, имеет смысл здесь.

Эти методы ищут корреляции одной переменной вовремя и оценивают эти недостающие данные соответственно.

, Например, imputeTS пакет могла бы быть опция здесь. Существует несколько опций:

library("imputeTS")
na_interpolation(data)

Для использования линейной интерполяции для замены отсутствующих значений.

library("imputeTS")
na_ma(data)

Для использования скользящего среднего значения для замены отсутствующих значений.

library("imputeTS")
na_kalman(data)

Усовершенствованный для использования моделей ARIMA / Kalman, сглаживающий для обвинения.

существуют также более возможные методы (см. этот бумага , могло бы иметь смысл рыть немного глубже здесь для использования самого подходящего для проблемы.

0
ответ дан 30 November 2019 в 12:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: