如何在R中从现有的数据框架创建新的数据框架

272 阅读1分钟

在R语言中,有两种常见的方法可以从现有的数据框架中创建一个新的数据框架。

方法1:从现有的数据框中选择列名

new_df <- df[c('var1', 'var3', 'var4')]

方法2:从现有的数据框中选择并重命名列名

new_df <- data.frame('new_var1' = df$var1, 
                     'new_var2' = df$var2, 
                     'new_var3' = df$var3)

下面的例子展示了如何在R语言中使用以下数据框架的方法:

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 points=c(19, 14, 14, 29, 25, 30),
                 assists=c(4, 5, 5, 4, 12, 10),
                 rebounds=c(9, 7, 7, 6, 10, 11))

#view data frame
df

  team points assists rebounds
1    A     19       4        9
2    A     14       5        7
3    A     14       5        7
4    B     29       4        6
5    B     25      12       10
6    B     30      10       11

例子1:从现有的数据框架中选择列名

下面的代码显示了如何通过从现有的数据框架中选择几个列名来创建一个新的数据框架:

#define new data frame
new_df <- df[c('team', 'assists', 'points')]

#view new data frame
new_df

  team assists points
1    A       4     19
2    A       5     14
3    A       5     14
4    B       4     29
5    B      12     25
6    B      10     30

新的数据框架包含现有数据框架中的三列(球队、助攻、得分)。

例2:从现有的数据框中选择并重命名列名

下面的代码显示了如何通过选择和重命名现有数据框架中的几列来创建一个新的数据框架:

#define new data frame
new_df <- data.frame('team_name' = df$team, 
                     'total_assists' = df$assists, 
                     'total_points' = df$points)

#view new data frame
new_df

  team_name total_assists total_points
1         A             4           19
2         A             5           14
3         A             5           14
4         B             4           29
5         B            12           25
6         B            10           30

新的数据框架包含现有数据框架中的三列(球队、助攻、得分),但我们为新数据框架中的每一列都指定了新的名称。

如果你提前知道你想重命名新数据框架中的列,这种方法就特别有用。

其他资源

下面的教程解释了如何在R中执行其他常见任务:

如何在R中向数据框追加行数
如何在R中保留某些列
如何在R中只选择数字列