r - 如何改变线条的斜率
问题描述
我有一个关于如何将线的斜率变为新数据框的问题
按类别。
d1 <-read.csv(file.choose(), header = T)
d2 <- d1 %>%
group_by(ID)%>%
mutate(Slope=sapply(split(df,df$ID), function(v) lm(x~y,v)$coefficients["y"]))
ID x y
1 3.429865279 2.431363764
1 3.595066124 2.681241237
1 3.735263469 2.352182518
1 3.316473584 2.51851394
1 3.285984642 2.380211242
1 3.860793029 2.62324929
1 3.397714117 2.819543936
1 3.452997088 2.176091259
1 3.718933278 2.556302501
1 3.518566578 2.537819095
1 3.689033452 2.40654018
1 3.349160923 2.113943352
1 3.658888644 2.556302501
1 3.251151343 2.342422681
1 3.911194909 2.439332694
1 3.432584505 2.079181246
1 4.031267043 2.681241237
1 3.168733129 1.544068044
1 4.032239897 3.084576278
1 3.663361648 2.255272505
1 3.582302046 2.62324929
1 3.606585565 2.079181246
1 3.541791347 2.176091259
4 3.844012861 2.892094603
4 3.608318477 2.767155866
4 3.588990218 2.883661435
4 3.607957917 2.653212514
4 3.306753044 2.079181246
4 4.002604841 2.880813592
4 3.195299837 2.079181246
4 3.512203238 2.643452676
4 3.66878494 2.431363764
4 3.598910385 2.511883361
4 3.721810134 2.819543936
4 3.352964661 2.113943352
4 4.008109343 3.084576278
4 3.584693332 2.556302501
4 4.019461819 3.084576278
4 3.359474563 2.079181246
4 3.950256012 2.829303773
我收到错误消息,例如“替换有 2 行,数据有 119”。我确信该错误来自 mutate()。
最好的,
解决方案
执行 group_by 后,任何成功的函数都会在分组 data.frame 中的列上使用,在您的情况下,它只会使用其中的 x,y 列。
如果你只想要系数,它是这样的:
df %>% group_by(ID) %>% summarize(coef=lm(x~y)$coefficients["y"])
# A tibble: 2 x 2
ID coef
<int> <dbl>
1 1 0.437
2 4 0.660
如果你想要系数,这意味着一个与数据帧一样长的向量,你可以使用 mutate:
df %>% group_by(ID) %>% mutate(coef=lm(x~y)$coefficients["y"])
# A tibble: 40 x 4
# Groups: ID [2]
ID x y coef
<int> <dbl> <dbl> <dbl>
1 1 3.43 2.43 0.437
2 1 3.60 2.68 0.437
3 1 3.74 2.35 0.437
4 1 3.32 2.52 0.437
5 1 3.29 2.38 0.437
6 1 3.86 2.62 0.437
7 1 3.40 2.82 0.437
8 1 3.45 2.18 0.437
9 1 3.72 2.56 0.437
10 1 3.52 2.54 0.437
# … with 30 more rows
推荐阅读
- java - Amstrong 数字返回空白结果(java)
- android - Kotlin-Android扫描二维码失败?
- mysql - 运行 alter table 以删除约束时,约束在此位置无效
- apache-commons-vfs - 'commons-vfs2',未添加到 fatJar
- mongodb - try_join 使 mongodb 事务同时发送
- python-3.10 - 如何解决vscode中不和谐的reportMissingImports
- python - 如何在 Python 中将奇怪的 unicode 字符(“故障”文本)转换为常规文本?
- excel - excel中的新列中的Marge multpile列
- python - 使用两个类实例
- node.js - 如何从 Node.js 中的文本中检测地址