首页 > 解决方案 > 如何添加 - 特别是 Dataframe R 中的列

问题描述

我在下面提到了数据框(Data_1):

Type      cal    cal2     cal3     cal4
PER-11    125    148      177      198
PER-12    125    148      177      198
PER-13    125    148      177      198
PER-14    125    148      177      198
PER-15    125    148      177      198
PER-16    125    148      177      198

我想在列中添加“-” calcal3但最多只能添加 3 个单元格。

所需数据框:

Type      cal    cal2     cal3     cal4
PER-11     -     148       -      198
PER-12     -     148       -      198
PER-13     -    148        -      198
PER-14    125    148      177      198
PER-15    125    148      177      198
PER-16    125    148      177      198

标签: rdataframedplyr

解决方案


我们可以使用replace并指定list要替换的索引,因为它是多列替换,所以使用mutate_at

library(dplyr)
df1 %>% 
   mutate_at(vars(cal, cal3), funs(replace(., 1:3, '-')))
#     Type cal cal2 cal3 cal4
#1 PER-11   -  148    -  198
#2 PER-12   -  148    -  198
#3 PER-13   -  148    -  198
#4 PER-14 125  148  177  198
#5 PER-15 125  148  177  198
#6 PER-16 125  148  177  198

推荐阅读