В течение 1 oop разделите каждое наблюдение с помощью strsplit()
на ', '
, затем substr
первых двух символов, а затем paste
вместе:
for(g in df1$list_names){
print(
paste(substr(unlist(strsplit(g, ', ')),1,2), collapse = ', ')
)
}
[1] "jo"
[1] "ad, sa"
[1] "re"
[1] "zh, mi, an"
[1] "ma, he, sc, jo, st, ja, na"
или вы можете одна строка это с sapply
:
df1$new_list_names = sapply(df1$list_names, function(g) paste(substr(unlist(strsplit(as.character(g), ', ')),1,2), collapse = ', '))
> df1
id list_names new_list_names
1 1 john jo
2 2 adam, sally ad, sa
3 3 rebecca re
4 4 zhang, mike, antonio zh, mi, an
5 5 mark, henry, scott, john, steve, jason, nancy ma, he, sc, jo, st, ja, na