【发布时间】:2020-04-11 09:50:30
【问题描述】:
我想在 R 中编写一个循环来检查数据帧,以便将 0 值更改为中值。不幸的是我得到一个错误。
这只是我循环的一部分。
y <- median(df[1])
Error in median.default(df[1]) : need numeric data
如果我使用,它可以工作。
y <- median(df$name_of_the_column)
这是我的循环。我还没有完成循环。它仍在进行中。
i = 1
for (x in df) {
if (df[i][df[i] == 0]) {
df[i][df[i]] <- median(df[i])
}
【问题讨论】:
-
尝试
df[,1]或d[[1]],因为df[1]仍然是一个具有一列的data.frame,其中[,1]或[[1]]将列提取为向量,就像$和median工作在vector作为输入 -
感谢您的解释。其作品。现在我必须处理我的循环。这根本不起作用;)。
-
我在下面发布了一个解决方案,其中包含一些解释和一个
for循环