Как я могу получить R для форматирования diff (x) в виде строк? - PullRequest
0 голосов
/ 06 февраля 2020

Я хотел бы, чтобы вывод кода ниже равнялся express 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

Большое спасибо

1 Ответ

2 голосов
/ 06 февраля 2020

Может быть, вы можете попробовать

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...