【发布时间】:2016-10-17 19:32:24
【问题描述】:
我有一个这样的 df:
> df
symbol x1 x2
1 A 3.6 5.2
2 A 10.0 4.8
3 A 5.2 0.2
4 A -10.2 0.4
5 A 5.4 -2.5
6 B 9.9 6.5
7 B 15.8 -1.8
8 B 4.5 -5.9
9 C -2.0 0.5
10 C -10.0 2.6
11 C 7.7 8.9
12 C 10.5 18.5
我想按符号计算 x1 和 x2 列之间的 r 平方,所以我想得到一个像这样的新 df
symbol r squared
1 A 0.27
2 B 0.30
3 C 0.68
我使用 ifelse 但它不起作用。
for (i in 1:12){
results[i] <- ifelse(df$symbol == symbollist[i], summary(lm(df$x1~df$x2))$r.squared,0)
}
如何在 R 中解决这个问题?
【问题讨论】:
标签: r loops for-loop regression