检查并绘制 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
type 和 lang 列仅包含字符串,并且(据我所知)不能用于绘图或相关分析.所以我需要将它们转换成数字,对吗?但是在根据浏览器类型绘制语言时如何重新附加字符串?
如果我考虑一些像 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")
我需要检查和绘制 R 中少数属性之间的相关性,其中许多属性是基于字符串的。
考虑以下网页点击的 CSV 示例数据提取:
id;type;lang
1;EN;browser
2;EN;ios
3;DE;android
4;DE;browser
5;FR;ios
type 和 lang 列仅包含字符串,并且(据我所知)不能用于绘图或相关分析.所以我需要将它们转换成数字,对吗?但是在根据浏览器类型绘制语言时如何重新附加字符串?
如果我考虑一些像 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")