R语言数据框中拥有相同列名的列相加
时间: 2023-07-10 15:11:37 浏览: 162
如果您在R语言数据框中有相同列名的列,并且想要将它们相加,您可以使用`rowSums()`函数来实现。假设您的数据框名为`df`,您要将名为`col1`和`col2`的两列相加,并将结果存储在名为`new_col`的新列中。您可以使用以下代码:
```
df$new_col <- rowSums(df[, c("col1", "col2")], na.rm = TRUE)
```
在上述代码中,`rowSums()`函数将`col1`和`col2`的值相加,并使用`na.rm`参数来指示忽略缺失值。`new_col`是新创建的列名,用于存储相加后的结果。`[, c("col1", "col2")]`用于选择名为`col1`和`col2`的列。请注意,以上代码仅适用于数据框中的两列,如果您要将多列相加,需要进行适当的修改。
相关问题
R语言数据框中拥有相同列名的多个列相加
如果您在R语言数据框中有多个拥有相同列名的列,并且想要将它们相加,您可以使用`rowSums()`函数和`grep()`函数来实现。假设您的数据框名为`df`,您要将名为`col1`的所有列相加,并将结果存储在名为`new_col`的新列中。您可以使用以下代码:
```
cols_to_sum <- grep("^col1", names(df))
df$new_col <- rowSums(df[, cols_to_sum], na.rm = TRUE)
```
在上述代码中,`grep()`函数选择所有以`col1`开头的列,并将它们存储在`cols_to_sum`变量中。然后,`rowSums()`函数将这些列的值相加,并使用`na.rm`参数来指示忽略缺失值。`new_col`是新创建的列名,用于存储相加后的结果。`[, cols_to_sum]`用于选择所有以`col1`开头的列。请注意,`^`符号用于指定列名以`col1`开头。如果您要选择不同的列名,请相应地更改`grep()`函数中的正则表达式。
pandas中某一列名相同的另一列数据相加
假设你有一个名为`df`的pandas DataFrame,其中有两列,分别为`col1`和`col2`,其中`col1`中有重复的值。你可以使用`groupby`和`sum`来实现相同`col1`值的`col2`数据相加,示例如下:
```python
import pandas as pd
# 创建示例数据
data = {'col1': ['A', 'B', 'A', 'B'], 'col2': [1, 2, 3, 4]}
df = pd.DataFrame(data)
# 使用groupby和sum函数相加col2列数据
df_sum = df.groupby('col1')['col2'].sum().reset_index()
print(df_sum)
```
输出结果为:
```
col1 col2
0 A 4
1 B 6
```
上述代码中,`groupby`函数按照`col1`列进行分组,然后对每个分组中的`col2`数据进行求和,并将结果保存在一个新的DataFrame中。最后使用`reset_index`函数重置索引。