0

我正在寻找在R中绘制一组人的高度

像 5-11 这样的 B/ca 高度以字符串形式出现,我想知道是否有任何关于如何转换为数字以便绘制图形的提示。

4

3 回答 3

0
require(stringr) 
Split <- str_split(x, "-")
sapply(Split, function(x) x[1] + (x[2] / 11))
于 2013-11-18T11:33:57.030 回答
0

它也适用于基本 R 函数:

sapply(strsplit(x, "-"), function(x) {x <- as.numeric(x); x[1] + x[2] / 12})
于 2013-11-18T11:52:53.217 回答
0

我假设您的数据是一个因素。如果这是正确的,您可以将所有级别编辑为数值,然后将因子转换为数值向量。

levels(data$heights)  #Levels of the factor
levels(data$heights)<-c(5*12+10,5*12+11,6*12,6*12+1) #Renaming factors in numerical make sure
##the numbers are in the same order as in your levels
data$heights<-as.numeric(levels(data$heights))[data$heights]  #Changing factor GPA to numeric vector GPA
data$heights

请注意,如果您的 R 将您的数据作为一个因素读取,则此方法有效

于 2013-11-14T03:22:05.120 回答