R代码风格
1 空格
1.1 逗号后空格号
# A tibble: 234 × 1
manufacturer
<chr>
1 audi
2 audi
3 audi
4 audi
5 audi
6 audi
7 audi
8 audi
9 audi
10 audi
# ℹ 224 more rows
hist(mpg$hwy, breaks = 20, col = "skyblue",
main = "Histogram of Highway Mileage",
xlab = "Miles per Gallon")
# bad
mpg[ ,1]
# A tibble: 234 × 1
manufacturer
<chr>
1 audi
2 audi
3 audi
4 audi
5 audi
6 audi
7 audi
8 audi
9 audi
10 audi
# ℹ 224 more rows
hist(mpg$hwy ,breaks = 20 ,col = "skyblue",
main = "Histogram of Highway Mileage",
xlab = "Miles per Gallon")
1.2 运算符前后空格
=、==、+、-、<-, ~, %>%,|等用空格包围
Call:
lm(formula = cty ~ displ + cyl, data = mpg)
Residuals:
Min 1Q Median 3Q Max
-5.9276 -1.4750 -0.0891 1.0686 13.9261
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.2885 0.6876 41.139 < 2e-16 ***
displ -1.1979 0.3408 -3.515 0.000529 ***
cyl -1.2347 0.2732 -4.519 9.91e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.466 on 231 degrees of freedom
Multiple R-squared: 0.6671, Adjusted R-squared: 0.6642
F-statistic: 231.4 on 2 and 231 DF, p-value: < 2.2e-16
Call:
lm(formula = cty ~ displ + cyl, data = .)
Residuals:
Min 1Q Median 3Q Max
-5.9276 -1.4750 -0.0891 1.0686 13.9261
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.2885 0.6876 41.139 < 2e-16 ***
displ -1.1979 0.3408 -3.515 0.000529 ***
cyl -1.2347 0.2732 -4.519 9.91e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.466 on 231 degrees of freedom
Multiple R-squared: 0.6671, Adjusted R-squared: 0.6642
F-statistic: 231.4 on 2 and 231 DF, p-value: < 2.2e-16
Call:
lm(formula = cty ~ displ + cyl, data = mpg)
Residuals:
Min 1Q Median 3Q Max
-5.9276 -1.4750 -0.0891 1.0686 13.9261
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.2885 0.6876 41.139 < 2e-16 ***
displ -1.1979 0.3408 -3.515 0.000529 ***
cyl -1.2347 0.2732 -4.519 9.91e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.466 on 231 degrees of freedom
Multiple R-squared: 0.6671, Adjusted R-squared: 0.6642
F-statistic: 231.4 on 2 and 231 DF, p-value: < 2.2e-16
Call:
lm(formula = cty ~ displ + cyl, data = .)
Residuals:
Min 1Q Median 3Q Max
-5.9276 -1.4750 -0.0891 1.0686 13.9261
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.2885 0.6876 41.139 < 2e-16 ***
displ -1.1979 0.3408 -3.515 0.000529 ***
cyl -1.2347 0.2732 -4.519 9.91e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.466 on 231 degrees of freedom
Multiple R-squared: 0.6671, Adjusted R-squared: 0.6642
F-statistic: 231.4 on 2 and 231 DF, p-value: < 2.2e-16
1.3 无需空格的情况
具有高优先级的运算符包括:::、:::、$、@、[、[[、^,不用空格包围
[1] 18 21 20 21 16 18 18 18 16 20 19 15 17 17 15 15 17 16 14 11 14 13 12 16 15
[26] 16 15 15 14 11 11 14 19 22 18 18 17 18 17 16 16 17 17 11 15 15 16 16 15 14
[51] 13 14 14 14 9 11 11 13 13 9 13 11 13 11 12 9 13 13 12 9 11 11 13 11 11
[76] 11 12 14 15 14 13 13 13 14 14 13 13 13 11 13 18 18 17 16 15 15 15 15 14 28
[101] 24 25 23 24 26 25 24 21 18 18 21 21 18 18 19 19 19 20 20 17 16 17 17 15 15
[126] 14 9 14 13 11 11 12 12 11 11 11 12 14 13 13 13 21 19 23 23 19 19 18 19 19
[151] 14 15 14 12 18 16 17 18 16 18 18 20 19 20 18 21 19 19 19 20 20 19 20 15 16
[176] 15 15 16 14 21 21 21 21 18 18 19 21 21 21 22 18 18 18 24 24 26 28 26 11 13
[201] 15 16 17 15 15 15 16 21 19 21 22 17 33 21 19 22 21 21 21 16 17 35 29 21 19
[226] 20 20 21 18 19 21 16 18 17
# A tibble: 234 × 1
manufacturer
<chr>
1 audi
2 audi
3 audi
4 audi
5 audi
6 audi
7 audi
8 audi
9 audi
10 audi
# ℹ 224 more rows
vars n mean sd median trimmed mad min max range
manufacturer* 1 234 7.76 5.13 6.0 7.68 5.93 1.0 15 14.0
model* 2 234 19.09 11.15 18.5 18.98 14.08 1.0 38 37.0
displ 3 234 3.47 1.29 3.3 3.39 1.33 1.6 7 5.4
year 4 234 2003.50 4.51 2003.5 2003.50 6.67 1999.0 2008 9.0
cyl 5 234 5.89 1.61 6.0 5.86 2.97 4.0 8 4.0
trans* 6 234 5.65 2.88 4.0 5.53 1.48 1.0 10 9.0
drv* 7 234 1.67 0.66 2.0 1.59 1.48 1.0 3 2.0
cty 8 234 16.86 4.26 17.0 16.61 4.45 9.0 35 26.0
hwy 9 234 23.44 5.95 24.0 23.23 7.41 12.0 44 32.0
fl* 10 234 4.63 0.70 5.0 4.77 0.00 1.0 5 4.0
class* 11 234 4.59 1.99 5.0 4.64 2.97 1.0 7 6.0
skew kurtosis se
manufacturer* 0.21 -1.63 0.34
model* 0.11 -1.23 0.73
displ 0.44 -0.91 0.08
year 0.00 -2.01 0.29
cyl 0.11 -1.46 0.11
trans* 0.29 -1.65 0.19
drv* 0.48 -0.76 0.04
cty 0.79 1.43 0.28
hwy 0.36 0.14 0.39
fl* -2.25 5.76 0.05
class* -0.14 -1.52 0.13
[1] 18 21 20 21 16 18 18 18 16 20 19 15 17 17 15 15 17 16 14 11 14 13 12 16 15
[26] 16 15 15 14 11 11 14 19 22 18 18 17 18 17 16 16 17 17 11 15 15 16 16 15 14
[51] 13 14 14 14 9 11 11 13 13 9 13 11 13 11 12 9 13 13 12 9 11 11 13 11 11
[76] 11 12 14 15 14 13 13 13 14 14 13 13 13 11 13 18 18 17 16 15 15 15 15 14 28
[101] 24 25 23 24 26 25 24 21 18 18 21 21 18 18 19 19 19 20 20 17 16 17 17 15 15
[126] 14 9 14 13 11 11 12 12 11 11 11 12 14 13 13 13 21 19 23 23 19 19 18 19 19
[151] 14 15 14 12 18 16 17 18 16 18 18 20 19 20 18 21 19 19 19 20 20 19 20 15 16
[176] 15 15 16 14 21 21 21 21 18 18 19 21 21 21 22 18 18 18 24 24 26 28 26 11 13
[201] 15 16 17 15 15 15 16 21 19 21 22 17 33 21 19 22 21 21 21 16 17 35 29 21 19
[226] 20 20 21 18 19 21 16 18 17
# A tibble: 234 × 1
manufacturer
<chr>
1 audi
2 audi
3 audi
4 audi
5 audi
6 audi
7 audi
8 audi
9 audi
10 audi
# ℹ 224 more rows
vars n mean sd median trimmed mad min max range
manufacturer* 1 234 7.76 5.13 6.0 7.68 5.93 1.0 15 14.0
model* 2 234 19.09 11.15 18.5 18.98 14.08 1.0 38 37.0
displ 3 234 3.47 1.29 3.3 3.39 1.33 1.6 7 5.4
year 4 234 2003.50 4.51 2003.5 2003.50 6.67 1999.0 2008 9.0
cyl 5 234 5.89 1.61 6.0 5.86 2.97 4.0 8 4.0
trans* 6 234 5.65 2.88 4.0 5.53 1.48 1.0 10 9.0
drv* 7 234 1.67 0.66 2.0 1.59 1.48 1.0 3 2.0
cty 8 234 16.86 4.26 17.0 16.61 4.45 9.0 35 26.0
hwy 9 234 23.44 5.95 24.0 23.23 7.41 12.0 44 32.0
fl* 10 234 4.63 0.70 5.0 4.77 0.00 1.0 5 4.0
class* 11 234 4.59 1.99 5.0 4.64 2.97 1.0 7 6.0
skew kurtosis se
manufacturer* 0.21 -1.63 0.34
model* 0.11 -1.23 0.73
displ 0.44 -0.91 0.08
year 0.00 -2.01 0.29
cyl 0.11 -1.46 0.11
trans* 0.29 -1.65 0.19
drv* 0.48 -0.76 0.04
cty 0.79 1.43 0.28
hwy 0.36 0.14 0.39
fl* -2.25 5.76 0.05
class* -0.14 -1.52 0.13
2 赋值符
赋值符用<-, 不用=。 =只用于函数参数的赋值
3 代码换行
一行代码不要太长
换行保持缩进
函数名单独一行
每一个参数项单独一行
最后一行,单独的一个右括号)占一行
# good
mpg %>%
ggplot(aes(x = displ, y = cty, color = drv)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Scatterplot of Weight and MPG",
x = "Displacement (in cubic inches)",
y = "City Miles per Gallon"
) +
theme_minimal()
`geom_smooth()` using formula = 'y ~ x'
# bad
mpg %>% ggplot(aes(x = displ, y = cty, color = drv)) + geom_point() + geom_smooth(method = "lm", se = FALSE) +
labs(title = "Scatterplot of Weight and MPG", x = "Weight (in 1000 lbs)", y = "Miles per Gallon" ) +
theme_minimal()
`geom_smooth()` using formula = 'y ~ x'
# good
mpg %>%
filter(class == "suv" | class == "compact") %>%
ggplot(aes(x = displ, y = cty, col = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Scatterplot of Displacement and City MPG",
x = "Displacement in Litres",
y = "City Miles per Gallon"
) +
theme_minimal()
`geom_smooth()` using formula = 'y ~ x'
# bad
mpg %>%
filter(class == "suv" | class == "compact") %>%
ggplot(aes(x = displ, y = cty, col = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(title = "Scatterplot of Displacement and City MPG",
x = "Displacement in Litres",
y = "City Miles per Gallon") +
theme_minimal()
`geom_smooth()` using formula = 'y ~ x'
4 代码美化 styler::style_text()
lm(cty ~ displ + cyl, data = mpg)
Call:
lm(formula = cty ~ displ + cyl, data = mpg)
Coefficients:
(Intercept) displ cyl
28.289 -1.198 -1.235
"mpg%>%ggplot(aes(x=displ,y=cty,col=class))+geom_point()+geom_smooth(method='lm',se=FALSE)" %>%
style_text()
mpg %>% ggplot(aes(x = displ, y = cty, col = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE)
mpg %>% ggplot(aes(x = displ, y = cty, col = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE)
`geom_smooth()` using formula = 'y ~ x'
"mpg %>%
filter(class=='suv'|class=='compact') %>%
ggplot(aes(x=displ, y=cty, col=class))+
geom_point()+
geom_smooth(method='lm', se=FALSE)+
labs(title='Scatterplot of Displacement and City MPG',
x='Displacement in Litres',
y='City Miles per Gallon')+
theme_minimal()" %>%
style_text()
mpg %>%
filter(class == "suv" | class == "compact") %>%
ggplot(aes(x = displ, y = cty, col = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
labs(
title = "Scatterplot of Displacement and City MPG",
x = "Displacement in Litres",
y = "City Miles per Gallon"
) +
theme_minimal()