如何在 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"
转换为数字。
我正在尝试可视化一列,据我所知它应该是一个向量,但是当我将列转换为向量时,向量会丢失其中的数值并变为 '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"
转换为数字。