R 使用sapply的不可恢复错误
我有一种情况,我正在将数据从字符转换为整数。然而,在一台机器上,相同的代码产生的结果与在另一台机器上不同,我不知道为什么。下面是一个例子:R 使用sapply的不可恢复错误,r,R,我有一种情况,我正在将数据从字符转换为整数。然而,在一台机器上,相同的代码产生的结果与在另一台机器上不同,我不知道为什么。下面是一个例子: df <- data.frame( a = "1", b = "2", c = "3", stringsAsFactors = FALSE ) 远程:R3.2.4,Ubuntu 12.04 R version 3.2.4 (2016-03-10) Platform: x86_64-pc-linux-gnu (64-bit) Running
df <- data.frame(
a = "1", b = "2", c = "3",
stringsAsFactors = FALSE
)
远程:R3.2.4,Ubuntu 12.04
R version 3.2.4 (2016-03-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu precise (12.04.5 LTS)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=C LC_COLLATE=C
[5] LC_MONETARY=C LC_MESSAGES=C LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=C LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.4.3 tidyr_0.4.1 data.table_1.9.6
[4] RMySQL_0.9-3 DBI_0.3.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.3 codetools_0.2-14 psych_1.4.8.11 foreach_1.4.2 assertthat_0.1
[6] plyr_1.8.1 chron_2.3-47 R6_2.0.1 magrittr_1.5 lazyeval_0.1.10
[11] doParallel_1.0.8 iterators_1.0.7 tools_3.2.4 yaml_2.1.13 parallel_3.2.4
想法?至少可以说两个R版本是什么,这样其他人(理论上)就可以测试它了?@joran说得对。更新!在mine、Windows7、R3.0.3上按预期工作。。。有可能是你在另一台机器上犯了错误吗?@Joe远程机器从git repo提取数据,因此根本不可能。添加两台机器的
sessionInfo
输出。同时检查sapply
和as.integer
的定义是否(大致)相同。我的猜测是,远程机器正在加载一些程序包/代码,这些程序包/代码会破坏其中一个/两个功能。
df[,c("a","b")] <- sapply(df[,c("a","b")], as.integer)
str(df)
'data.frame': 1 obs. of 3 variables:
$ a: chr "1"
$ b: chr "2"
$ c: chr "3"
R version 3.2.2 (2015-08-14)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 15.10
locale:
[1] LC_CTYPE=C LC_NUMERIC=C LC_TIME=C
[4] LC_COLLATE=C LC_MONETARY=C LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.4.3 tidyr_0.4.1 data.table_1.9.6
[4] RMySQL_0.9-3 DBI_0.3.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.3 codetools_0.2-14 psych_1.5.8 foreach_1.4.3
[5] assertthat_0.1 plyr_1.8.3 chron_2.3-47 R6_2.1.2
[9] magrittr_1.5 lazyeval_0.1.10 doParallel_1.0.10 iterators_1.0.8
[13] tools_3.2.2 yaml_2.1.13 parallel_3.2.2 mnormt_1.5-3
R version 3.2.4 (2016-03-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu precise (12.04.5 LTS)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=C LC_COLLATE=C
[5] LC_MONETARY=C LC_MESSAGES=C LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=C LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.4.3 tidyr_0.4.1 data.table_1.9.6
[4] RMySQL_0.9-3 DBI_0.3.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.3 codetools_0.2-14 psych_1.4.8.11 foreach_1.4.2 assertthat_0.1
[6] plyr_1.8.1 chron_2.3-47 R6_2.0.1 magrittr_1.5 lazyeval_0.1.10
[11] doParallel_1.0.8 iterators_1.0.7 tools_3.2.4 yaml_2.1.13 parallel_3.2.4