所以我有一个名为activity(非常大的数据集)的data.frame,它在'steps'列中包含一些NA值。我还有另一个名为avgstepsperday的数据集,其中包含每天步数的平均值。我需要将活动中的所有NA'步骤'值替换为该特定日期的avgstepsperday的相应平均“步数”。我不知道该怎么做。
答案 0 :(得分:1)
正如akrun所提到的,我将把他的代码放在一个示例上,以便您可以更容易地看到发生的情况。我希望它有所帮助:
mat1<-matrix(c(1:12, NA, NA, NA),5,3) # Creating a matrix
colnames(mat1)<- c("A", "B", "C") # Adding colnames
dat1<-as.data.frame(mat1) # Passing it as dataframe
is.na(dat1)
# A B C
# [1,] FALSE FALSE FALSE
# [2,] FALSE FALSE FALSE
# [3,] FALSE FALSE TRUE
# [4,] FALSE FALSE TRUE
# [5,] FALSE FALSE TRUE
dat1[is.na(dat1)] <- mean(dat1$C, na.rm = T) # Writing the mean of the same column
# A B C
# 1 1 6 11.0
# 2 2 7 12.0
# 3 3 8 11.5
# 4 4 9 11.5
# 5 5 10 11.5