首页 > 解决方案 > FUN 中的错误(左,右):二元运算符的非数字参数

问题描述

我正在尝试为我正在使用循环的特定行中的每个单独列添加值,但它不断给出“二进制运算符的非数字参数”的错误,所以也许我认为程序读取了索引值列?

这是我的代码:

col1st <- colnames(NB1stRow)[5:74]
for(i in seq_along(col1st)){
  NB1stRow[i] <- NB1stRow[i]*2
}

这是列的样子

NB1stRow[6]
   X417.897
1  21.29759
2  22.52447
3  25.59260
4  29.67289
5  34.45366
6  30.30945
7  28.02665
8  28.13356
9  31.67405
10 28.65952
11 28.49534
12 32.18732
13 35.24368
14 32.02267
15 30.92876

我正在使用基础 R。

标签: r

解决方案


假设 5:74 列是数字,问题是seq_along(col1st)1:70 所以它试图将这些列加倍,而不是 5:74 列。用DF来表示我们想要的数据框:

ix <- 5:74
for(i in ix) DF[i] <- 2 * DF[i]

要不就

DF[ix] <- 2 * DF[ix]

推荐阅读