我有以下data.table:
g1 <- ggplot(CPU_ALL, aes(x = interaction(CPU_AL$Date, CPU_ALL$Time)
, y = CPU_ALL$User%)) +
geom_line() +
geom_point() +
expand_limits(y=0) +
xlab('Date/Time') + ylab('CPU Utilization (%)') +
ggtitle('CPU ALL')
我试图使用以下代码绘制图形:
anobre@segall:nmon$ CPU_ALL.R CPU_ALL_nmon.csv
Error: unexpected input in: "g1 <- ggplot(CPU_ALL, aes(x = interaction(Date, Time)
, y = User%)) +" Execution halted
运行后,我收到以下消息:
User%
我认为问题是当我尝试访问列Sys%
,Wait%
,Idle%
和CPU_ALL[,Date]
时。当我CPU_ALL[,User%]
时它工作正常,但当我尝试anobre@segall:nmon$ CPU_ALL.R CPU_ALL_nmon.csv
Error: unexpected input in "CPU_ALL[,User%]"
Execution halted
时,我收到以下错误消息:
{{1}}
有没有人知道如何在data.table中使用特殊字符或空格来访问列名?
答案 0 :(得分:2)
您可以使用反引号draw.on('drawend', function(evt){
var feature = evt.feature;
feature.setId(some_uniq_id);
//do you want to set other properties?
feature.setProperties({
name: 'some_name'
});
});
标志。
`
它也适用于太空。
答案 1 :(得分:0)
如果您的列名称包含特殊字符,请用双引号""
工作脚本
g1 <- ggplot(CPU_ALL, aes(x = interaction(CPU_ALL$Date, CPU_ALL$Time)
, y = CPU_ALL$"User%")) +
geom_line() +
geom_point() +
expand_limits(y=0) +
xlab('Date/Time') + ylab('CPU Utilization (%)') +
ggtitle('CPU ALL')
如果您使用read.table
函数和param check.names=TRUE
从文件中读取它,这是该参数的btw默认值,它会自动将您的数据转换为
Date Time User. Sys. Wait. Idle. Busy PhysicalCPUs
1: 01-APR-2015 00:15:28 0.7 0.9 0.1 98.4 NA 64
2: 01-APR-2015 00:30:32 0.7 0.9 0.3 98.1 NA 64
3: 01-APR-2015 00:45:39 0.5 0.7 0.3 98.4 NA 64
4: 01-APR-2015 01:00:46 0.6 0.8 0.3 98.3 NA 64
5: 01-APR-2015 01:15:51 0.5 0.7 0.1 98.6 NA 64
查看%
符号如何转换为.
然后您可以直接访问列而不用双引号括起来。
g1 <- ggplot(CPU_ALL, aes(x = interaction(CPU_ALL$Date, CPU_ALL$Time)
, y = CPU_ALL$User.)) +
geom_line() +
geom_point() +
expand_limits(y=0) +
xlab('Date/Time') + ylab('CPU Utilization (%)') +
ggtitle('CPU ALL')
希望这有帮助。
答案 2 :(得分:-1)
尝试使用引号:CPU_ALL[,'User%']