相关疑难解决方法(0)

为什么我在读取数据框时会在列名中获得X.

几个月前我问了一个关于这个问题,我认为答案已经解决了我的问题,但是我再次遇到了问题并且解决方案对我不起作用.

我正在导入CSV:

orders <- read.csv("<file_location>", sep=",", header=T, check.names = FALSE)
Run Code Online (Sandbox Code Playgroud)

这是数据帧的结构:

str(orders)

'data.frame':   3331575 obs. of  2 variables:
 $ OrderID  : num  -2034590217 -2034590216 -2031892773 -2031892767 -2021008573 ...
 $ OrderDate: Factor w/ 402 levels "2010-10-01","2010-10-04",..: 263 263 269 268 301 300 300 300 300 300 ...
Run Code Online (Sandbox Code Playgroud)

如果我length在第一列OrderID上运行命令,我会得到:

length(orders$OrderID)
[1] 0
Run Code Online (Sandbox Code Playgroud)

如果我运行length在OrderDate上,它会正确返回:

length(orders$OrderDate)
[1] 3331575
Run Code Online (Sandbox Code Playgroud)

这是复制/粘贴headCSV.

OrderID,OrderDate
-2034590217,2011-10-14
-2034590216,2011-10-14
-2031892773,2011-10-24
-2031892767,2011-10-21
-2021008573,2011-12-08
-2021008572,2011-12-07
-2021008571,2011-12-07
-2021008570,2011-12-07
-2021008569,2011-12-07
Run Code Online (Sandbox Code Playgroud)

现在,如果我重新运行read.csv …

r illegal-characters dataframe read.csv

55
推荐指数
5
解决办法
7万
查看次数

在data.frame中指定列名称会将空格更改为"."

假设我有一个data.frame,就像这样:

x <- c(1:10,1:10,1:10,1:10,1:10,1:10,1:10,1:10,1:10,1:10)
df <- data.frame("Label 1"=x,"Label 2"=rnorm(100))
Run Code Online (Sandbox Code Playgroud)

头(DF,3)

收益:

  Label.1    Label.2
1       1  1.9825458
2       2 -0.4515584
3       3  0.6397516
Run Code Online (Sandbox Code Playgroud)

如何让R停止使用列名称中的句点自动替换空格?即,"标签1"而不是"Label.1".

r names illegal-characters dataframe

31
推荐指数
3
解决办法
3万
查看次数

数字作为数据框的列名

有没有理由为什么R不允许我将数字作为我的数据帧的列名?

还注意到,如果我这样做,data.frame(XX)则会X在前面添加一个包含数字的列标题.

r names dataframe

18
推荐指数
2
解决办法
3万
查看次数

标签 统计

dataframe ×3

r ×3

illegal-characters ×2

names ×2

read.csv ×1