我正在寻找在R中绘制一组人的高度
像 5-11 这样的 B/ca 高度以字符串形式出现,我想知道是否有任何关于如何转换为数字以便绘制图形的提示。
require(stringr)
Split <- str_split(x, "-")
sapply(Split, function(x) x[1] + (x[2] / 11))
它也适用于基本 R 函数:
sapply(strsplit(x, "-"), function(x) {x <- as.numeric(x); x[1] + x[2] / 12})
我假设您的数据是一个因素。如果这是正确的,您可以将所有级别编辑为数值,然后将因子转换为数值向量。
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 将您的数据作为一个因素读取,则此方法有效