r - 如何让 R 将 diff(x) 格式化为行?
问题描述
我希望下面的代码输出以行而不是列表示一系列数字的 diff(x)。它目前计算数据框行的 diff(x) ,这是我想要的,所以这些值是正确的,但它们是按列格式化的。这是一些生成某些数字系列的 diff(x) 的示例代码:
x <- c(19, 26, 39)
y <- c(34, 47, 51)
z <- c(45,50,60)
B <- data.frame(x, y, z)
B
f1 = function(x){return(diff(x))}
apply(B,1,f1)
>[,1] [,2] [,3]
y 15 21 12
z 11 3 9
#this seems to give diff(x) as columns
#want as rows, i.e. the transpose:
15 11
21 3
12 9
非常感谢
解决方案
也许你可以试试
Bout <- B[-1]- B[-ncol(B)]
这样
> Bout
y z
1 15 11
2 21 3
3 12 9
或者
Bout <- t(diff(t(B)))
这样
> Bout
y z
[1,] 15 11
[2,] 21 3
[3,] 12 9
推荐阅读
- c# - FileStream.Position 具有线程不安全的副作用
- node.js - 如何将 Multer S3 流传递给另一个函数
- macos - Applescript 将 Mac 显示分辨率更改为“缩放”、“更大的文本”
- java - 如何对集合子集应用进一步的过滤器
- cakephp - CakePHP 中的自动清除消息
- nativescript - 如何在 NativeScript 中对 .udsz 文件使用 AR QuickLook?
- node.js - 如何解决 socket.io-client 连接到服务器的问题?
- python - 没有在python中正确解析嵌套的xml标签
- javascript - 如何在 JavaScript 中传递引用?
- android - Firestore:在事务中检查 NotNull 并阻止调用 OnSuccessful 回调