如何使用R中另一个数据集的值替换一个数据集中的值?

时间:2018-06-16 16:09:34

标签: r

所以我有一个名为activity(非常大的数据集)的data.frame,它在'steps'列中包含一些NA值。我还有另一个名为avgstepsperday的数据集,其中包含每天步数的平均值。我需要将活动中的所有NA'步骤'值替换为该特定日期的avgstepsperday的相应平均“步数”。我不知道该怎么做。

1 个答案:

答案 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