【发布时间】:2011-09-01 17:50:55
【问题描述】:
CSV 文件如下所示(为简洁起见进行了修改)。几列的标题中有空格,R 似乎无法区分它们。
别名;类型;序列号;日期时间;主要状态; [...] E1;E-70;781733;01/04/2010 11:28;8; [...]这是我要执行的代码:
s_data <- read.csv2( file=f_name )
attach(s_data)
s_df = data.frame(
scada_id=ID,
plant=PlantNo,
date=DateTime,
main_code=Main status,
seco_code=Additional Status,
main_text=MainStatustext,
seco_test=AddStatustext,
duration=Duration)
detach(s_data)
我也试过替换
main_code=Main\ status
和
main_code="Main status"
【问题讨论】:
-
@klonq : 为什么不试试 read.table 函数,我支持列名中的空格
-
@smack:不完全是。
read.csv2只是read.table的包装,所以它支持相同的东西。在任何一种情况下,您都可以使用check.names=TRUE在列名中允许空格(但这通常不是一个好主意) -
您从“CSV”文件中粘贴的数据不是CSV;它看起来像空格或制表符分隔。 read.csv2() 默认采用分号分隔。该文件看起来真的像您在此处粘贴的内容吗?
-
@neilfws 抱歉,从 excel 复制粘贴。分号分隔的 CSV。
-
@klonq :如果你不确定 s_data 包含什么,你应该记得使用
str(s_data)或names(s_data)。您会立即看到Main status实际上是Main.status。