R 在数据框的行中找不到任何更改

R 在数据框的行中找不到任何更改,r,R,我想对每一行的所有列运行我的代码,并找出每一行有多少+ve更改和负更改 +ve变化意味着与以前的值相比,数量增加(例如:(1,3),(2,3)) -ve变化意味着与之前的值相比,数量减少(例如:(3,2)、(2,1)) 样本数据: 带tidyverse: library(tidyverse) df1 <- gather(df,k,v,-PID) inner_join(df1 %>% group_by(PID) %>% summarise(n=sum(as.integer(v&

我想对每一行的所有列运行我的代码,并找出每一行有多少+ve更改和负更改

+ve变化意味着与以前的值相比,数量增加(例如:(1,3),(2,3)) -ve变化意味着与之前的值相比,数量减少(例如:(3,2)、(2,1))

样本数据:

带tidyverse:

library(tidyverse)
df1 <- gather(df,k,v,-PID)
inner_join(df1  %>% group_by(PID) %>% summarise(n=sum(as.integer(v>lag(v)),na.rm=TRUE)),
           df1  %>% group_by(PID) %>% summarise(n=sum(as.integer(v<lag(v)),na.rm=TRUE)),by="PID")
## A tibble: 4 x 3
#  PID     n.x   n.y
#  <fct> <int> <int>
#1 abc       4     3
#2 def       2     3
#3 hij       0     0
#4 klm       3     2
库(tidyverse)
df1%group_by(PID)%>%SUMMARSE(n=总和(as.integer(v>滞后(v)),na.rm=TRUE)),
df1%>%groupby(PID)%>%summary(n=sum(as.integer)(v带基数r):(我自己创建了一个样本数据集)

set.seed(2)

PID您的问题是什么?另外,使用
dput()
函数添加数据示例(不是图片)和您尝试过的代码示例(我想运行我的代码)。
set.seed(2)
PID <- as.data.frame(matrix(sample(c(1,2,3), 40, T), nrow = 4))

PID$poschanges <- colSums(apply(PID, 1, diff) > 0)
PID$negchanges <- colSums(apply(PID, 1, diff) < 0)

PID

  V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 poschanges negchanges
1  2  1  3  2  2  1  1  1  2   3          3          3
2  3  3  2  2  1  2  2  1  2   1          2          4
3  1  3  3  2  1  3  3  1  3   3          3          3
4  2  1  2  1  2  3  2  3  3   2          4          4