不规则语法命名数据框tibble

本题来自《R数据科学》第7章使用tibble实现简单数据框

(4) 在以下的数据框中练习如何引用不符合语法规则的变量名。
a. 提取名称为 1 的变量。
b. 绘制表示变量 1 和变量 2 关系的散点图。
c. 创建一个名称为 3 的新列,其值为列 2 除以列 1。 
d. 将这些列重新命名为 one、two 和 three。

     annoying <- tibble(
       `1` = 1:10,
       `2` = `1` * 2 + rnorm(length(`1`))
)

a.提取名称为 1 的变量。

library("tidyverse")

annoying <- tibble(
  `1` = 1:10,
  `2` = `1` * 2 + rnorm(length(`1`))
)

# 方法1:按名称提取
annoying$`1`

# 方法2:按位置提取
annoying[[1]]

输出结果为:

> annoying$`1`
 [1]  1  2  3  4  5  6  7  8  9 10

b. 绘制表示变量 1 和变量 2 关系的散点图。

library("tidyverse")

annoying <- tibble(
  `1` = 1:10,
  `2` = `1` * 2 + rnorm(length(`1`))
)

ggplot(annoying, aes(x = `1`, y = `2`)) +
    geom_point() +
    geom_smooth()
不规则语法命名数据框tibble_第1张图片

c. 创建一个名称为 3 的新列,其值为列 2 除以列 1。

方法1:直接在数据框中添加

library("tidyverse")

annoying <- tibble(
  `1` = 1:10,
  `2` = `1` * 2 + rnorm(length(`1`)),
  `3` = `2` / `1`
)

annoying

方法2:使用mutate

library("tidyverse")

annoying <- tibble(
  `1` = 1:10,
  `2` = `1` * 2 + rnorm(length(`1`))
)

# 使用mutate
mutate(annoying, `3`= `2` / `1`)

输出结果为:

# A tibble: 10 × 3
     `1`   `2`   `3`
     
 1     1  1.01  1.01
 2     2  3.47  1.74
 3     3  7.24  2.41
 4     4  8.40  2.10
 5     5  9.35  1.87
 6     6  9.93  1.65
 7     7 14.2   2.03
 8     8 14.8   1.85
 9     9 16.7   1.85
10    10 20.3   2.03

d. 将这些列重新命名为 one、two 和 three。

library("tidyverse")

annoying <- tibble(
  `1` = 1:10,
  `2` = `1` * 2 + rnorm(length(`1`)),
  `3` = `2` / `1`
)

annoying %>%
  rename(
    one = `1`,
    two = `2`,
    three = `3`
  )

输出结果为:

A tibble: 10 × 3
     one    two three
      
 1     1  0.820 0.820
 2     2  4.24  2.12 
 3     3  6.55  2.18 
 4     4  8.25  2.06 
 5     5 13.1   2.62 
 6     6 13.7   2.28 
 7     7 14.2   2.03 
 8     8 15.3   1.92 
 9     9 18.3   2.04 
10    10 19.2   1.92 

20221203

你可能感兴趣的:(R,r语言)