compute_name_index {ChineseNames}R Documentation

Compute multiple features of surnames and given names.

Description

Compute all available name features (indices) based on familyname and givenname. You can either input a data frame with a variable of Chinese full names (and a variable of birth years, if necessary) or just input a vector of full names (and a vector of birth years, if necessary).

Caution. Name-character uniqueness (NU) of cases with birth year >= 2010 would not be accurately computed due to the year limitation of this name database.

Usage

compute_name_index(
  data = NULL,
  var.fullname = NULL,
  var.surname = NULL,
  var.givenname = NULL,
  var.birthyear = NULL,
  name = NA,
  birth = NA,
  index = c("NLen", "SNU", "SNI", "NU", "CCU", "NG", "NV", "NW", "NC"),
  NU.approx = TRUE,
  digits = 4,
  return.namechar = TRUE,
  return.all = FALSE
)

Arguments

data

Data frame.

var.fullname

Variable name of Chinese full names (e.g., "name").

var.surname

Variable name of Chinese surnames (e.g., "surname").

var.givenname

Variable name of Chinese given names (e.g., "givenname").

var.birthyear

Variable name of birth year (e.g., "birth").

name

If no data, you can just input a vector of full name(s).

birth

If no data, you can just input a vector of birth year(s).

index

Which indices to compute?

By default, it computes all available name indices:

  • NLen: full-name length (2~4).

  • SNU: surname uniqueness (1~6).

  • SNI: surname initial (1~26).

  • NU: name-character uniqueness (1~6).

  • CCU: character-corpus uniqueness (1~6).

  • NG: name gender (-1~1).

  • NV: name valence (1~5).

  • NW: name warmth (1~5).

  • NC: name competence (1~5).

For details, see https://github.com/psychbruce/ChineseNames

NU.approx

Whether to approximately compute name-character uniqueness (NU) using the nearest two birth cohorts with relative weights (which would be more precise than just using a single birth cohort). Default is TRUE.

digits

Number of decimal places. Default is 4.

return.namechar

Whether to return separate name characters. Default is TRUE.

return.all

Whether to return all temporary variables in the computation of the final variables. Default is FALSE.

Value

A new data frame (data.table) with name indices appended. Full names are split into name0 (surnames, with compound surnames automatically detected), name1, name2, and name3 (given-name characters).

Note

For details and examples, see https://github.com/psychbruce/ChineseNames

Examples

## Prepare
sn=familyname$surname[1:12]
gn=c(top100name.year$name.all.1960[1:6],
     top100name.year$name.all.2000[1:6],
     top100name.year$name.all.1960[95:100],
     top100name.year$name.all.2000[95:100])
demodata=data.frame(name=paste0(sn, gn),
                    birth=c(1960:1965, 2000:2005,
                            1960:1965, 2000:2005))

## Compute
newdata=compute_name_index(demodata,
                           var.fullname="name",
                           var.birthyear="birth")
# use View(newdata) to see the results


[Package ChineseNames version 1.1.0 Index]