我正在尝试简化一个过程,通过该过程我从excel工作表中选择并复制两列并将它们导入到R中,我将其进一步子集化。这是我的问题:
excel数据在同一列中有多组数据。例如:第1列是[V,1,2,3,4,V,1,2,3,4],第2列是[A,2,4,6,10,A,3,6,9 ,12]其中V和A是列标题。我尝试复制两个相关列,然后在R中运行以下代码:
testing<-read.clipboard(header=TRUE, sep=" ")
testinga<-testing[1:4,]
结果表看起来很好,但是在ggplot中绘制时
ggplot(testing, aes(V,A))+geom_point()
结果图以第一个数字对我的数据点进行排序(即将10绘制为1)
如果我只是复制第一个数据集并使用read.clipboard
导入它,这不是问题这里发生了什么,我该如何解决它?
# from dput()
testing <- structure(list(V = structure(c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L), .Label = c("1", "2", "3", "4", "V"), class = "factor"), A = structure(c(3L, 5L, 6L, 1L, 8L, 4L, 6L, 7L, 2L), .Label = c("10", "12", "2", "3", "4", "6", "9", "A"), class = "factor")), .Names = c("V", "A"), class = "data.frame", row.names = c(NA, -9L))
答案 0 :(得分:0)
你的问题是,如果有更多的列名,那么大的data.frame的列会被转换为因子(而不是数字)。您只需要转换回数字。
testinga <- testing[1:4, ]
testinga <- sapply(testinga, FUN = function(x){as.numeric(as.character(x))})
然后你应该能够很好地绘制。