我正在尝试学习管道功能(%>%).
当试图从这行代码转换到另一行时,它不起作用.
---- R代码 - 原版-----
set.seed(1014)
replicate(6,sample(1:8))
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 3 7 4 5 1
[2,] 2 8 4 2 4 2
[3,] 5 4 8 5 8 5
[4,] 3 1 2 1 1 7
[5,] 4 6 3 7 7 3
[6,] 6 5 1 3 3 8
[7,] 8 7 5 8 6 6
[8,] 7 2 6 6 2 4
Run Code Online (Sandbox Code Playgroud)
---- R代码 - 用管道重新编码----
> sample(1:8) %>% replicate(6,.)
[,1] [,2] …
Run Code Online (Sandbox Code Playgroud) 我想在R中执行以下任务.这是字符向量:
a <- c("a", "1", "2", "3", "b", "5", "6", "7", "c", "8", "9", "11")
Run Code Online (Sandbox Code Playgroud)
将a转换为如下所示的数据框:
a 1 2 3
b 5 6 7
c 8 9 11
Run Code Online (Sandbox Code Playgroud) 我对Haskell - Map中的这种数据类型感到困惑.特别是,有一个函数调用插入(来自Data.Map模块),它允许您将新值附加到Map数据结构.所以,这是我的困惑.如果haskell数据结构是不可变的,那么如何将新数据插入到现有的Map数据结构中?
函数的类型签名(*>)
是这样的:
Run Code Online (Sandbox Code Playgroud)(*>) :: f a -> f b -> f b
序列操作,丢弃第一个参数的值.
有人可以解释为什么这有用吗?如果第一个参数被丢弃,似乎反直觉.
请举例说明.谢谢.
在编程中创建频道的最佳做法是什么?为了组织和清晰,您应该在主程序中创建所有通道吗?
我已经查看了在子例程中创建通道的代码.在子例程中创建主程序时,这些通道是否禁止进入主程序?
请澄清.提前致谢.
haskell ×2
r ×2
applicative ×1
channel ×1
concurrency ×1
go ×1
immutability ×1
key-value ×1
magrittr ×1
pipe ×1