我有这种类型的数据框
string1,string2,value1
string3,string1,value2
string3,string5,value3
...
...
Run Code Online (Sandbox Code Playgroud)
我会用独特的整数转换srings:
1,2,value1
3,1,value2
3,5,value3
...
...
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用c()运算符,将字符串转换为唯一的整数.问题是如何管理数据框的两列.我怎样才能做到这一点?
如果要为字符串分配数字,而不是删除文本"字符串",则可以使用已知级别的因子,然后强制转换为数字.
d <- read.csv(header=TRUE, file=textConnection("a,b,c
string1,string2,value1
string3,string1,value2
string3,string5,value3"))
l=unique(c(as.character(d$a), as.character(d$b)))
d1 <- data.frame(a=as.numeric(factor(d$a, levels=l)), b=as.numeric(factor(d$b, levels=l)), c=d$c)
> d1
a b c
1 1 3 value1
2 2 1 value2
3 2 4 value3
Run Code Online (Sandbox Code Playgroud)
请注意,所选的数值与字符串中的数字不一致,但每个字符串都有一个唯一的数字.