attach.jm attaches a list, dataframe or file to the search path in position = pos. attach.jm is like attach except that it checks whether the file, list or dataframe to-be-attached is already attached to the search path. 

attach.jm ( filename, pos = 2, allow.2same = FALSE, refresh.path = FALSE, 
case.sensitive = FALSE, name.on.path = character(0), 
feedback = TRUE)

Arguments:

filename: Either a list or dataframe or the name of a file (including a specification of the path, if necessary).  
(Side comment: a dataframe is a kind of list, so it is redundant to reference a "list or dataframe," but I use the wordier expression because some students do not immediately recognize that attaching a dataframe is a special case of attaching a list.) 

pos: The position on the search path where the object or file will be attached.  The default is pos = 2.  

allow.2same: allow.2same determines whether an object or file can be attached more than once to the search path.  If allow.2same = TRUE, then filename will be attached to the search path whether or not another version is already attached.  The default is allow.2same = FALSE.  

refresh.path: refresh.path determines whether existing versions of an object or file are detached from the search path prior to attaching a new version of the same file.  If refresh.path = TRUE, & filename is already attached to the search path, then all older versions of filename are detached from the search path, and a new "fresh" version is attached to the search path.  The default is refresh.path = FALSE.  If refresh.path = FALSE & allow.2same = FALSE (default), then filename is attached to the search path if and only if no same-name object or file already exists on the search path.

case.sensitive: case.sensitive is ignored when filename is a list or dataframe.  If filename is the name of a file and case.sensitive = FALSE (default), then filename and all names on the search path are converted to lower case prior to checking whether filename already exists on the search path. If filename is the name of a file and case.sensitive = TRUE, then filename and all names on the search path are left in their exist case when checking whether filename already exists on the search path. case.sensitive should be set to TRUE if R is running on a computer that has case-sensitive file specifications (Windows does not).  

name.on.path: name.on.path argument has no effect if filename is the name of a file.  If filename is a list, dataframe or matrix and name.on.path != character(0), filename will be attached to the search path under the name, name.on.path provided that either there is no object named name.on.path that is already on the search path or refresh.path = TRUE or allow.2same = TRUE.  If filename is a list, dataframe or matrix, and name.on.path = character(0) (default), then the list, dataframe or matrix will be attached with its current name as the name of the environment on the search path.

feedback: If feedback = TRUE (default), the function displays feedback re the status of the search path after the attachment operation has been completed.  If feedback = FALSE, this feedback is not displayed.