为什么str()会在数据清理后更改输出
当了解我放在df中的数据时,我使用str和dim。 在这里,str生成两个“部分”的输出,这几乎是相同的,正如您在下面看到的 在我完成一些清理并再次运行str()之后,它突然停止返回第二个“部分”。 我正在学习在R工作,这让我感到困惑 如果你有什么解释,我将不胜感激 祝你一切顺利,安德斯为什么str()会在数据清理后更改输出,r,data-structures,R,Data Structures,当了解我放在df中的数据时,我使用str和dim。 在这里,str生成两个“部分”的输出,这几乎是相同的,正如您在下面看到的 在我完成一些清理并再次运行str()之后,它突然停止返回第二个“部分”。 我正在学习在R工作,这让我感到困惑 如果你有什么解释,我将不胜感激 祝你一切顺利,安德斯 > str(spain) Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 76 obs. of 8 variables: $ S
> str(spain)
Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 76 obs. of 8 variables:
$ SNo : num 552 619 688 758 828 ...
$ ObservationDate: chr "02/01/2020" "02/02/2020" "02/03/2020" "02/04/2020" ...
$ Province/State : chr NA NA NA NA ...
$ Country/Region : chr "Spain" "Spain" "Spain" "Spain" ...
$ Last Update : chr "2/1/2020 2:13" "2020-02-01T23:43:02" "2020-02-01T23:43:02" "2020-02-01T23:43:02" ...
$ Confirmed : num 1 1 1 1 1 1 1 1 2 2 ...
$ Deaths : num 0 0 0 0 0 0 0 0 0 0 ...
$ Recovered : num 0 0 0 0 0 0 0 0 0 0 ...
- attr(*, "spec")=
.. cols(
.. SNo = col_double(),
.. ObservationDate = col_character(),
.. `Province/State` = col_character(),
.. `Country/Region` = col_character(),
.. `Last Update` = col_character(),
.. Confirmed = col_double(),
.. Deaths = col_double(),
.. Recovered = col_double()
.. )
> dim(spain)
[1] 76 8
> spain <- spain[,-3] #Fjerner kolonne 3
> str(spain)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 76 obs. of 7 variables:
$ SNo : num 552 619 688 758 828 ...
$ ObservationDate: chr "02/01/2020" "02/02/2020" "02/03/2020" "02/04/2020" ...
$ Country/Region : chr "Spain" "Spain" "Spain" "Spain" ...
$ Last Update : chr "2/1/2020 2:13" "2020-02-01T23:43:02" "2020-02-01T23:43:02" "2020-02-01T23:43:02" ...
$ Confirmed : num 1 1 1 1 1 1 1 1 2 2 ...
$ Deaths : num 0 0 0 0 0 0 0 0 0 0 ...
$ Recovered : num 0 0 0 0 0 0 0 0 0 0 ...
str(西班牙)
类“spec_tbl_df”、“tbl_df”、“tbl”和“data.frame”:76 obs。共有8个变量:
$SNo:num 552 619 688 758 828。。。
$ObservationDate:chr“02/01/2020”“02/02/2020”“02/03/2020”“02/04/2020”。。。
$省/州:chr NA NA。。。
$国家/地区:chr“西班牙”“西班牙”“西班牙”。。。
$Last Update:chr“2/1/2020 2:13”“2020-02-01T23:43:02”“2020-02-01T23:43:02”“2020-02-01T23:43:02”。。。
$已确认:数字1 1 2。。。
$Deations:num 0 0 0 0 0 0。。。
$Recovered:num 0 0 0 0 0。。。
-属性(*,“规范”)=
.. 科尔斯(
..SNo=col_double(),
…ObservationDate=col_character(),
..`Province/State`=col_character(),
..`Country/Region`=列字符(),
..`Last Update`=col_character(),
..已确认=列双(),
…死亡=col_double(),
…已恢复=col_double()
.. )
>迪姆(西班牙)
[1] 76 8
>西班牙街(西班牙)
类“tbl_df”、“tbl”和“data.frame”:76 obs。共有7个变量:
$SNo:num 552 619 688 758 828。。。
$ObservationDate:chr“02/01/2020”“02/02/2020”“02/03/2020”“02/04/2020”。。。
$国家/地区:chr“西班牙”“西班牙”“西班牙”。。。
$Last Update:chr“2/1/2020 2:13”“2020-02-01T23:43:02”“2020-02-01T23:43:02”“2020-02-01T23:43:02”。。。
$已确认:数字1 1 2。。。
$Deations:num 0 0 0 0 0 0。。。
$Recovered:num 0 0 0 0 0。。。
我不确定您是如何读取数据的,但这是使用子类
spec\u tbl\u df
对数据帧进行子集后的预期结果
简而言之,您的数据在第一次导入R时有一个子类'spec\u tbl\u df'
。该子类有一个spec
属性,该属性保存列的数据类型信息。调用str()
时,它会显示类类型('tbl_df','tbl'和'data.frame'
..)和任何属性(attr(*,'spec')
)。根据设计,在子集aspec\u tbl\u df
之后,该属性将被删除。实际上,这不会影响您的数据帧。我认为这是加载数据的一个工件
您可以在这里阅读更多关于它的内容: