我正試圖對一種治療的有效性進行分類。每個ID應該包含4個時間段。
Dataframe
| id | 時間框架 | 。距離 | 。||
|---|---|---|---|---|
| 1 | 1 | 1.1 | ||
| 1 | 2 | |||
| 2 | 1.1 | |||
| 1 | 3 | 1.2 | ||
| 1.2 | ||||
| 1 | 4 | 1.1 | 2 | 1 |
| 1 | 1.1 | |||
| 2 | 2 | |||
| 2 | 1.1 | |||
| 2 | 4 | |||
| 4 | 1.1 | |||
| 1.1 |
問題是,例如id 2時間框架#3缺失。如何在缺失的時間框架中創建一個新的行,并為所有存在這種問題的行添加平均距離值?
我在運行--使用 "縱向K-means(KML)"進行縱向聚類時,得到了 "并非所有的時間都是相同的長度"
。uj5u.com熱心網友回復:
我們可以使用complete來創建缺少的組合,然后用mean替換NA
library(dplyr)
library(tidyr)
df1 %> %
mutate(rn = row_number()) %> %
complete(id,timeframe) %>%
mutate(distance = replace(distance, is. na(distance) & is. na(rn),
平均(distance, na. rm = TRUE)))
如果mean應該在每個'id'內計算,那么在mutate之前做一個group_by
df1 %>%
mutate(rn = row_number()) %> %
complete(id,timeframe) %>%
group_by(id) %>%
mutate(distance = replace(distance, is. na(distance) & is. na(rn),
平均(distance, na. rm = TRUE)) %> %
解除組
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/332219.html
標籤:
