String 函数从R中的匹配项打印字符串

String 函数从R中的匹配项打印字符串,string,r,String,R,我目前有两个包含名称数据的表,如果两个列表中的一个名称也出现在第二个列表中,我将使用%中的%创建一个新的二进制变量: publications$IsTrainee = 1*(publications$AuthorLast %in% trainees$TraineeLast) 我还想创建一个新变量来打印出现在两个列表中的字符串(名称),但是我很难找到一个允许它的函数。我查看了stringr包,但可能遗漏了什么。万分感谢 学员表: TraineeNumber Program L

我目前有两个包含名称数据的表,如果两个列表中的一个名称也出现在第二个列表中,我将使用%中的
%创建一个新的二进制变量:

publications$IsTrainee = 1*(publications$AuthorLast %in% trainees$TraineeLast)
我还想创建一个新变量来打印出现在两个列表中的字符串(名称),但是我很难找到一个允许它的函数。我查看了
stringr
包,但可能遗漏了什么。万分感谢

学员表:

 TraineeNumber Program          LastName EntryDate
    1               1     K12               LEE      2007
    2               2     K12               PAN      2007
    3               3     K12            SHAIKH      2007
    4               4     K12        MINZENBERG      2007
    5               5     K12            BREMER      2008
    6               6     K12         UNDERWOOD      2008
    7               7     K12         AVDALOVIC      2008
出版物表:

PubNum Publication_Year  AuthorLast CoauthorLast1 CoauthorLast2 CoauthorLast3
1      1             2007     ANUURAD            LU         RUBIN       PEARSON
2      2             2006       BARRY     LOCKRIDGE       SALAMAT       TINLING
3      3             2006      CARTER                                          
4      4             2006      CARTER           HAN       ABRESCH        JENSEN
5      5             2006        CHUI         ZAROW          MACK         ELLIS
6      6             2007 CRITCHFIELD    LEMONGELLO        WALKER        GARCIA
出版物$IsTrainee:

  [1] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
 [41] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
 [81] 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
期望输出:

PubNum Publication_Year  AuthorLast CoauthorLast1 CoauthorLast2 Trainee  TraineeName
1      1             2007     ANUURAD            LU         RUBIN       0   NA
2      2             2006       BARRY     LOCKRIDGE       SALAMAT       1   BARRY
3      3             2006      CARTER                                   1   CARTER    
4      4             2006      CARTER           HAN       ABRESCH       1   CARTER 
5      5             2006        CHUI         ZAROW          MACK       0   NA
6      6             2007 CRITCHFIELD    LEMONGELLO        WALKER       1   WALKER

你只是在寻找类似于

names <- c("albert", "john", "louise")
set <- c("louise", "james", "john")
names[names %in% set]

名称请提供出版物和受训人员的数据样本以及所需的输出将上述行指定为一个变量,比如说
x
并请提供输出,或者只提供
出版物$IsTrainee
?我已经添加了出版物和受训人员的样本数据。所需的输出将是publications表+一个新变量(列),如果相关的话,包含受训者的姓名。这非常接近。我已经为上面的问题添加了更多细节,包括我正在使用的表。谢谢超级关闭:现在如何获得写入原始csv文件的结果,类似于:
Publications$TraineePub=1*(Publications$AuthorLast%in%trainers$LastName)
write.csv(Publications,file='resultpublicationstrainee.csv')
@AdrianI可能误解了您的问题。。。您是否在询问如何创建新的数据帧列,以及如何将数据帧写入csv?如果是这样,您自己已经回答过了:执行类似于
Publications$MyNewVariable的操作