有时print
需要两次尝试打印data.table
:
> library(data.table) > > rm(list=ls()) > > Tbl <- fread( input = "Nr; Value + Nr 1;46.73 + Nr 2;49.02 + Nr 3;50.62 + Nr 4;49.80 + Nr 5;50.15", + sep = ";", + header = TRUE, + colClasses = c("character","numeric") ) > print(Tbl) Nr Value 1: Nr 1 46.73 2: Nr 2 49.02 3: Nr 3 50.62 4: Nr 4 49.80 5: Nr 5 50.15 > Tbl <- Tbl[, Nr := as.numeric( gsub( "Nr ", "", Tbl$Nr ))] > print(Tbl) > print(Tbl) Nr Value 1: 1 46.73 2: 2 49.02 3: 3 50.62 4: 4 49.80 5: 5 50.15 >
不是这样的data.frame
:
> rm(list=ls()) > > DF <- read.table( text = "Nr; Value + Nr 1;46.73 + Nr 2;49.02 + Nr 3;50.62 + Nr 4;49.80 + Nr 5;50.15", + sep = ";", + header = TRUE, + colClasses = c("character","numeric")) > > DF$Nr <- as.numeric( gsub( "Nr ", "", DF$Nr )) > print(DF) Nr Value 1 1 46.73 2 2 49.02 3 3 50.62 4 4 49.80 5 5 50.15 >
如果代码包含在脚本文件中,data.table
则立即打印:
> source(path_to_Script_1,echo=TRUE,prompt.echo="(script) ",max.deparse.length=500) (script) library(data.table) (script) rm(list=ls()) (script) Tbl <- fread( input = "Nr; Value + Nr 1;46.73 + Nr 2;49.02 + Nr 3;50.62 + Nr 4;49.80 + Nr 5;50.15", + sep = ";", + header = TRUE, + colClasses = c("character","numeric") ) (script) Tbl <- Tbl[, Nr := as.numeric( gsub( "Nr ", "", Tbl$Nr ))] (script) print(Tbl) Nr Value 1: 1 46.73 2: 2 49.02 3: 3 50.62 4: 4 49.80 5: 5 50.15 >
但是如果print(Tbl)
从脚本文件中省略,则print
在控制台上再次需要两次尝试:
> source(path_to_Script_2,echo=TRUE,prompt.echo="(script) ",max.deparse.length=500) (script) library(data.table) (script) rm(list=ls()) (script) Tbl <- fread( input = "Nr; Value + Nr 1;46.73 + Nr 2;49.02 + Nr 3;50.62 + Nr 4;49.80 + Nr 5;50.15", + sep = ";", + header = TRUE, + colClasses = c("character","numeric") ) (script) Tbl <- Tbl[, Nr := as.numeric( gsub( "Nr ", "", Tbl$Nr ))] > print(Tbl) > print(Tbl) Nr Value 1: 1 46.73 2: 2 49.02 3: 3 50.62 4: 4 49.80 5: 5 50.15 >
任何人都可以告诉我什么时候为什么print
需要两次尝试?我正在使用R版本3.2.2:
> R.version _ platform x86_64-w64-mingw32 arch x86_64 os mingw32 system x86_64, mingw32 status major 3 minor 2.2 year 2015 month 08 day 14 svn rev 69053 language R version.string R version 3.2.2 (2015-08-14) nickname Fire Safety
操作系统是Windows 7.