当我尝试显示数据帧的内容时,我得到一些奇怪的输出(参见下面的屏幕截图)。我在这里使用head()
,但对于任何数据帧显示,行为都是相同的。
这种行为似乎只出现在RStudio中。如下所示,我的R基本安装表现如预期。
我的sessionInfo如下:
> sessionInfo()
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
_LC_COLLATE=English_United States.1252_, _LC_CTYPE=English_United States.1252_, _LC_MONETARY=English_United States.1252_, _LC_NUMERIC=C_ and _LC_TIME=English_United States.1252_
attached base packages:
_stats_, _graphics_, _grDevices_, _utils_, _datasets_, _methods_ and _base_
loaded via a namespace (and not attached):
_digest_0.6.3_, _pander_0.3.8_ and _tools_3.0.1_
有关正在发生的事情的任何想法?
更新
在回应Hong Ooi时,我正在显示以下getAnywhere("print.data.frame")[1:2]
的结果。
$`package:base`
function (x, ..., digits = NULL, quote = FALSE, right = TRUE,
row.names = TRUE)
{
n <- length(row.names(x))
if (length(x) == 0L) {
cat(gettextf("data frame with 0 columns and %d rows\n",
n))
}
else if (n == 0L) {
print.default(names(x), quote = FALSE)
cat(gettext("<0 rows> (or 0-length row.names)\n"))
}
else {
m <- as.matrix(format.data.frame(x, digits = digits,
na.encode = FALSE))
if (!isTRUE(row.names))
dimnames(m)[[1L]] <- if (identical(row.names, FALSE))
rep.int("", n)
else row.names
print(m, ..., quote = quote, right = right)
}
invisible(x)
}
<bytecode: 0x0000000009f8e570>
<environment: namespace:base>
[[2]]
function (x, ..., digits = NULL, quote = FALSE, right = TRUE,
row.names = TRUE)
{
n <- length(row.names(x))
if (length(x) == 0L) {
cat(gettextf("data frame with 0 columns and %d rows\n",
n))
}
else if (n == 0L) {
print.default(names(x), quote = FALSE)
cat(gettext("<0 rows> (or 0-length row.names)\n"))
}
else {
m <- as.matrix(format.data.frame(x, digits = digits,
na.encode = FALSE))
if (!isTRUE(row.names))
dimnames(m)[[1L]] <- if (identical(row.names, FALSE))
rep.int("", n)
else row.names
print(m, ..., quote = quote, right = right)
}
invisible(x)
}
<bytecode: 0x0000000009f8e570>
<environment: namespace:base>
答案 0 :(得分:1)
我不确定哪一个有效,我将RStudio从v0.97.551升级到v0.98.447并将R从3.0.1升级到3.0.2。其中一个升级似乎解决了我的问题,我的数据帧再次正常打印:)
答案 1 :(得分:0)
您在RScript窗口中。双星号和 
是RMarkdown“标点符号”。 sessionInfo()细节对于理解RStudio的行为不会有用,因为它将准确描述您使用GUI执行的操作序列。