检查并绘制 R 中字符串属性的相关性

check for and plot correlation of string properties in R

我需要检查绘制 R 中少数属性之间的相关性,其中许多属性是基于字符串的。

考虑以下网页点击的 CSV 示例数据提取:

id;type;lang
1;EN;browser
2;EN;ios
3;DE;android
4;DE;browser
5;FR;ios

typelang 列仅包含字符串,并且(据我所知)不能用于绘图或相关分析.所以我需要将它们转换成数字,对吗?但是在根据浏览器类型绘制语言时如何重新附加字符串?

如果我考虑一些像 PCA 这样的方法,它们甚至可以用于数字转换的字符串,因为那样的距离或分布没有有用的信息吗?

可能,一个很好的解决方案是创建一个 if/else 语句。您将比较字符串,并为每个字符串分配一个辅助变量。

现在,当您将数字放在列表或向量中时,您可以使用这些数字值创建一个新的数据框。之后你就可以代表你的情节了。

这是您的代码:

id<-c(1:5)
lang<-c("EN","EN","DE","DE","FR")
type<-c("browser","ios","android","browser","ios")


data<-data.frame(id,type,lang)

tmp<-vector(mode="list",length=nrow(data))
auxType<-NULL
auxLang<-NULL

for(i in 1:nrow(data))
{
  #Assign lang
  if(data$lang[i]=="EN")
    auxLang<-1
  else
      if(data$lang[i]=="DE")
        auxLang<-2
      else    
        if(data$lang[i]=="FR")
          auxLang<-3

  #Assign type
  if(data$type[i]=="browser")
    auxType<-1
  else
    if(data$type[i]=="ios")
      auxType<-2
    else
        if(data$lang[i]=="android")
          auxType<-3

  #Create an auxiliar data frame    
  tmp[[i]]<-data.frame(data$id[i],auxType,auxLang)


}

allData<-do.call(rbind,tmp)

names(allData)<-c("id","types","lang")