小编Lau*_*ura的帖子

导致此错误的原因是什么?由于奇点而未定义系数

我正在尝试为我的数据找到一个模型,但是我得到的信息是"系数:(3由于奇点而没有定义)"这些在冬天,大和高流出现

我发现了这个:https: //stats.stackexchange.com/questions/13465/how-to-deal-with-an-error-such-as-coefficients-14-not-defined-because-of-singu

它说它可能是不正确的虚拟变量,但我检查过我的列都没有重复.

当我使用函数alias()时,我得到:

Model :
S ~ A + B + C + D + E + F + G + spring + summer + autumn + winter + small + medium + large + low_flow + med_flow + high_flow

Complete :
          (Intercept) A  B  C  D  E  F  G  spring summer autumn small medium
winter     1           0  0  0  0  0  0  0 -1     -1     -1      0     0    
large      1           0  0  0  0  0 …
Run Code Online (Sandbox Code Playgroud)

regression r linear-regression

8
推荐指数
2
解决办法
320
查看次数

双循环填充数据框-如何修复“复杂分配中的无效功能”

我有一个数据框:

results 2 (612 obs. 281 variables)
ID Q1000_p2000_2016 Q1893_p2039_2016 .... Q1000_p2000_2017 Q1893_p2039_2017
1      392               381                    422              351
2      432               293                    398              310
.       .                 .                      .                .
.       .                 .                      .                .
Run Code Online (Sandbox Code Playgroud)

在2016年有140个问题,2017年有140个问题,每年这些问题使用相同的名称,但每个变量名称在末尾都有"_2016""_2017"用来区分时间段。

和另一个数据框:

absdiff (0 obs. 141 variables)
ID Q1000_p2000 Q1893_p2039 .... 
Run Code Online (Sandbox Code Playgroud)

我想通过为每个问题的两年取绝对差值来指定absdiff的值ID

在我的条件下,我检查了结果2中2016年的问题编号(或变量名的前几个字符)是否与2017年的问题编号匹配。

如果成立,我想将两个答案的绝对差分配给absdiff中的相应变量/问题编号

我用过

for (q in 2:141){
  if (substr(colnames(results2[q]),1,12) == substr(colnames(results2[q+140]),1,12)){
    for (j in 1:nrow(results2)){absdiff$substr(colnames(results2[q]),1,11) <- abs(results2[j,q] - results2[j,(q+140)])}
  }
  else 
    print("ERROR")
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

absdiff $ substr(colnames(results2 [q]),1,11)<-abs(results2 [j,:复杂赋值中的无效函数)中的错误 …

loops for-loop r dataframe

2
推荐指数
1
解决办法
123
查看次数

标签 统计

r ×2

dataframe ×1

for-loop ×1

linear-regression ×1

loops ×1

regression ×1