如何在 rstudio 中将 int 列转换为向量?

How do I convert int column into vector in rstudio?

我正在尝试可视化一列,据我所知它应该是一个向量,但是当我将列转换为向量时,向量会丢失其中的数值并变为 'character'.试图转换成 double 并发生这种情况。有什么简单的解释吗?

> new_df3$Triwulan.I..Jumlah.Tanaman.  
 [1] 52258   2000    2122829 285     0       14053   1038    37331   0       221402   
[11] 0       5245    10      0       0       52790   0       2633    251     30642    
[21] 1898    0       0       180     6200     
21 Levels:  0 10 1038 14053 180 1898 2000 2122829 221402 251 2633 285 ... Triwulan I
> as.vector(new_df3$Triwulan.I..Jumlah.Tanaman.)
 [1] "52258"   "2000"    "2122829" "285"     "0"       "14053"   "1038"    "37331"  
 [9] "0"       "221402"  "0"       "5245"    "10"      "0"       "0"       "52790"  
[17] "0"       "2633"    "251"     "30642"   "1898"    "0"       "0"       "180"    
[25] "6200"
> as.double(new_df3$Triwulan.I..Jumlah.Tanaman.)  
 [1] 16  8  9 13  2  5  4 15  2 10  2 17  3  2  2 18  2 12 11 14  7  2  2  6 19  
> c(new_df3$Triwulan.I..Jumlah.Tanaman.)  
 [1] 16  8  9 13  2  5  4 15  2 10  2 17  3  2  2 18  2 12 11 14  7  2  2  6 19  

根据您创建 new_df3 data.frame 的方式,您可以做一些事情。

如果您从 .csv 文件导入它 - 根据您的列名的可怕长度进行有根据的猜测,您可以尝试将 stringsAsFactors 设置为 false,因为您的导入似乎已经解释了数值作为字符串(可能是其中一行中的坏字符之类的东西),然后变成 'factors'。您在输出中看到级别的原因。 如果您通过 new_df3 <- data.frame(...) 创建了 data.frame,那么您也可以定义 stringsAsFactors 参数。

您的问题的快速解决方案可能只是 - 您几乎已经解决了:

as.numeric(as.vector(new_df3$Triwulan.I..Jumlah.Tanaman.)) 

会将看起来像数字的字符 [1] "52258" "2000" "2122829" "285" "0" 转换为数字。