如何在R中保留某些列(有例子)

1,180 阅读2分钟

你可以使用以下方法在R中的数据框架中只保留某些列。

方法1:指定要保留的列

#only keep columns 'col1' and 'col2'
new_df = subset(df, select = c(col1, col2))

方法2:指定要删除的列

#drop columns 'col3' and 'col4'
new_df = subset(df, select = c(col3, col4))

下面的例子展示了如何在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:指定要保留的列

下面的代码显示了如何定义一个新的数据框架,只保留 "球队 "和 "助攻 "两列:

#keep 'team' and 'assists' columns
new_df = subset(df, select = c(team, assists))

#view new data frame
new_df

  team assists
1    A       4
2    A       5
3    A       5
4    B       4
5    B      12
6    B      10

由此产生的数据框架只保留我们指定的两列。

方法2:指定要删除的列

下面的代码显示了如何定义一个新的数据框架,将 "球队 "和 "助攻 "列从原数据框架中删除:

#drop 'team' and 'assists' columns
new_df = subset(df, select = -c(team, assists))

#view new data frame
new_df

  points rebounds
1     19        9
2     14        7
3     14        7
4     29        6
5     25       10
6     30       11

由此产生的数据框架从原始数据框架中删除了 "球队 "和 "助攻 "列,并保留了其余的列。

其他资源

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

如何在R中只选择数字列
如何在R中删除多个列
如何在R中重新排序列