管道中的 R print() 强制错误类型
R print() in pipe coerces wrong type
当在管道中使用 print() 时,它似乎将 x 强制转换为 .
的类型
seq(1,10,1) %T>% print(x=summary(.)) %>% summary()
给予
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 3 6 6 8 10
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
我最初想要的是除了 summary() 之外还得到 sd() 并尝试过:
seq(1,10,1) %T>% print(x=sd(.)) %>% summary()
但得到了:
[1] 3
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
>
我尝试了 cat() 和 c() 的变体,但数字 1:10 进入了这些函数的第一个点。
一般的问题是有没有一种方法可以使用管道运算符来显示通过管道移动的内容的多个摘要或函数。我知道我可以使用一个以 sd() 结尾的管道和第二个以 summary() 结尾的管道 - 但我的管道的开头比 seq(1,10,1) 复杂得多,我想避免重复或保存变成一个对象。
将其括在括号内
library(magrittr)
seq(1,10,1) %T>%
{print(x=summary(.))} %>%
summary
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
或者第二种情况
seq(1,10,1) %T>% {print(x=sd(.))} %>% summary()
[1] 3.02765
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
当在管道中使用 print() 时,它似乎将 x 强制转换为 .
的类型seq(1,10,1) %T>% print(x=summary(.)) %>% summary()
给予
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 3 6 6 8 10
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
我最初想要的是除了 summary() 之外还得到 sd() 并尝试过:
seq(1,10,1) %T>% print(x=sd(.)) %>% summary()
但得到了:
[1] 3
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
>
我尝试了 cat() 和 c() 的变体,但数字 1:10 进入了这些函数的第一个点。
一般的问题是有没有一种方法可以使用管道运算符来显示通过管道移动的内容的多个摘要或函数。我知道我可以使用一个以 sd() 结尾的管道和第二个以 summary() 结尾的管道 - 但我的管道的开头比 seq(1,10,1) 复杂得多,我想避免重复或保存变成一个对象。
将其括在括号内
library(magrittr)
seq(1,10,1) %T>%
{print(x=summary(.))} %>%
summary
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00
或者第二种情况
seq(1,10,1) %T>% {print(x=sd(.))} %>% summary()
[1] 3.02765
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 3.25 5.50 5.50 7.75 10.00