如何添加 - 特别是Dataframe R中的列

时间:2018-05-09 15:40:41

标签: r dataframe dplyr

我有下面提到的数据框(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

2 个答案:

答案 0 :(得分:2)

我们可以使用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

答案 1 :(得分:2)

使用R base:

> df1[1:3, c("cal", "cal3") ] <- "-"
> df1
    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