r - 如何向控制台发送 R 数据帧消息?

标签 r dataframe

如果我直接将数据框放入控制台,看起来不错:

> head(datasets::mtcars, 4)
                mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4      21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag  21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710     22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1

如何通过消息获得同样好的输出?

> message(head(datasets::mtcars, 4))
c(21, 21, 22.8, 21.4)c(6, 6, 4, 6)c(160, 160, 108, 258)c(110, 110, 93, 110)c(3.9, 3.9, 3.85, 3.08)c(2.62, 2.875, 2.32, 3.215)c(16.46, 17.02, 18.61, 19.44)c(0, 0, 1, 1)c(1, 1, 1, 0)c(4, 4, 4, 3)c(4, 4, 1, 1)

This question看起来很相似,但对我没有帮助。

最佳答案

我们可以使用paste创建值向量并将其传递给message

message(do.call(paste, c(head(datasets::mtcars, 4), collapse="\n")))

-输出

# 21 6 160 110 3.9 2.62 16.46 0 1 4 4
#21 6 160 110 3.9 2.875 17.02 0 1 4 4
#22.8 4 108 93 3.85 2.32 18.61 1 1 4 1
#21.4 6 258 110 3.08 3.215 19.44 1 0 3 1

为了获取行名称属性,我们可以使用capture.output

message(paste(capture.output(head(datasets::mtcars, 4)), collapse="\n"))

-输出

#                 mpg cyl disp  hp drat    wt  qsec vs am gear carb
#Mazda RX4      21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
#Mazda RX4 Wag  21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
#Datsun 710     22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
#Hornet 4 Drive 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1

关于r - 如何向控制台发送 R 数据帧消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64883386/

相关文章:

RStudio 打开后是空白的

python - 使用 lambda 进行按元素运算 (pd.DataFrame)

python - 如何使用 DataFrame 比较两个 CSV 文件并检索不同的单元格?为什么浮点单元格中会出现这么多小数位?

python - 删除特定值首次出现下方的行

scala - Spark DataFrame 过滤器无法按预期与随机一起工作

python - 如何从列中删除 NaN

r - 让统计学家满意 : Stata vs. R 学生 t 检验

r - 在多行文本中包含格式化下标?

r - 按组填写字符列中的缺失值(nacof/nocb)

r - 从向量 R 中提取带小数的数字