提供一个可复制的示例有点棘手,但我的问题是,我带来了一个英国地质学会矿产生产数据集(在Excel中进行了一些轻微整理后(。
具体来说,我从这个网站下载了所有国家2010-2020年钻石商品生产数据的.xlsx。
当我通过readxl将它带入R时,第一个列名后面会附加随机字符——所以它读取的不是Country
,而是rntCountry
。
从其他答案来看,我觉得这可能是原始数据集中的一些奇怪的SQL工件(?(,我读到你可以用特定的编码设置readxl来防止这种情况发生,但看起来readxl不再接受这个论点了。
我的代码:
library(tidyverse)
library(readxl)
# Set working directory.--------------------------------------------------------
setwd("Filepath/Project")
# Load data.--------------------------------------------------------------------
df <- read_xlsx("Filepath/Diamond Datasheet.xlsx")
和磁头(df(输出:
# A tibble: 6 x 12
`rntCountry` `2010` `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2019` `2020`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Angola 8362139 8328519 8330996 8601696 8791340 9018942 9021767 9438802 8.41e6 9.15e6 7.73e6
2 Australia 9997752 7561487 8625996 11481749 9288118 13560795 13958000 17135000 1.40e7 1.22e7 9.98e6
3 Botswana 22019000 22903000 20478000 22597000 24658000 20824000 20954000 22900000 2.74e7 2.37e7 1.69e7
4 Brazil 25394 45536 46292 49166 56923 31826 183500 254896 2.51e5 1.66e5 1.25e5
5 Cameroon 6000 6000 5000 5000 6000 4500 3000 3500 3.6 e3 3.5 e3 4.2 e3
6 Canada 11773000 10795000 10529215 10561600 12082000 11677472 11103500 23198761 2.28e7 1.85e7 1.50e7
rntCountry
位对我来说很奇怪。非常感谢你的建议。
不确定问题出在哪里。变量的名称可能不适合R读取。从变量名称来看,情况就是这样,正如你所看到的,年份被引用为'Year',而不是Year。以数字开头或间距为奇数的变量会导致R自身拖尾。值得庆幸的是,您可以使用tidyverse
软件包中的rename
函数轻松更改名称。例如:
#### Library ####
library(tidyverse)
#### Make Column of Country Data ####
df <- data.frame(Weird.Name = c("America",
"Japan",
"Russia"))
df
这个数据帧也有一个糟糕的名字:
Weird.Name
1 America
2 Japan
3 Russia
#### Rename ####
df %>%
rename(Country = Weird.Name)
现在没有了:(
Country
1 America
2 Japan
3 Russia
只是附带说明。。。如果变量名在导入前为以下格式,则它们是最好的:Variable.Name
或Variable_Name
。