【发布时间】:2015-04-02 08:12:40
【问题描述】:
我需要一些帮助来解决以下问题:
我有一个47x42 data.frame,在上面的诊断部分有非空值,我需要基于这个创建一个新的data.frame,其中值定义为:
new_tab[i,j] <- 1/2 * previous_tab[i,j] + 1/2 * mean(adjacent_cells_of(i,j))
例如,较小的 data.frame 可能是:
structure(list(X0 = c(10000L, 10000L, 10000L, 10000L, 10000L),
X1 = c(2842L, 2842L, 2842L, 2842L, NA), X2 = c(1743L, 1743L,
1743L, NA, NA), X3 = c(1144L, 1144L, NA, NA, NA), X4 = c(838L,
NA, NA, NA, NA)), .Names = c("X0", "X1", "X2", "X3", "X4"
), row.names = 15:19, class = "data.frame")
X0 X1 X2 X3 X4
15 10000 2842 1743 1144 838
16 10000 2842 1743 1144 838
17 10000 2842 1743 NA NA
18 10000 2842 NA NA NA
19 10000 NA NA NA NA
我的问题是我如何定义“相邻单元格的平均值”,因为[1,1] 值只有 3 个相邻单元格,[2,2] 有 8 个值。
[2,2] 的新值应该是:
1/2* 2842 +1/16*(10000+2842+1743+1743+1743+2842+10000+10000)
换句话说,它是我原始 data.frame 的一种平滑值,由下一个值。我不知道我是否足够清楚,但如果需要,我可以详细说明。
感谢您的帮助。
【问题讨论】:
-
你可以查看这个链接stackoverflow.com/questions/29105175/…它可能有用
-
谢谢,帮了大忙。我找不到关于这个主题的话题。
标签: r