вычисление Линейное значение для 0,5 бит данных [дубликат]

Вы можете использовать print df.describe().to_string(), чтобы заставить его отобразить всю таблицу. (Вы можете использовать to_string(), как это для любого DataFrame. Результат describe - это только сам DataFrame.)

8 - это количество строк в DataFrame, содержащее «описание» (потому что describe вычисляет 8 статистических данных, min, max, mean и т. д.).

8
задан Andrie 9 October 2011 в 14:50
поделиться

2 ответа

Да, это называется approx.

> with(lkp, approx(x, y, xout=c(0.2, 2)))
$x
[1] 0.2 2.0

$y
[1] 1.0000000 0.9123404

Для получения дополнительной информации см. ?approx.

10
ответ дан Andrie 5 September 2018 в 08:25
поделиться

Я не думаю, что для этого есть готовая функция, но вы можете легко создать ее. Например:

Функция для получения «соседей» (имя немного вводит в заблуждение, но функция работает):

get.neighbourgs <- function(vector, x) {
diff <- vector-x
if (any(diff==0)) {
    return(which(diff==0))
    } else {
        lower <- tail(which(diff<0), 1)
        return((lower-1):lower)
    }
}

Он вернет точный идентификатор, если a значение найдено в vector, иначе он вернет два «идентификатора» (до этого два меньших значения). Это требует, чтобы ваши данные были заказаны! Если нет, вам нужно немного подкорректировать его. Примеры использования:

> get.neighbourgs(lkp$x,1.3)
[1] 5
> get.neighbourgs(lkp$x,2)
[1] 5 6

Используя эту функцию, можно построить простую функцию, чтобы получить среднее значение требуемых значений y, например:

get.y <- function(df, x) {
    mean(df$y[get.neighbourgs(df$x, x)])
}

Примеры:

> get.y(lkp, 1.2)
[1] 0.971
> get.y(lkp, 2)
[1] 0.931

Надеюсь, что это поможет.

0
ответ дан daroczig 5 September 2018 в 08:25
поделиться
Другие вопросы по тегам:

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