Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 可变计数和跟踪变化_R_Count_Row - Fatal编程技术网

R 可变计数和跟踪变化

R 可变计数和跟踪变化,r,count,row,R,Count,Row,我有一份学生名单,我需要看看有多少学生被转到了不同的大学 第一个条目代表学生的“家庭学校”,如果大学条目在所有学期都保持不变,则学生不会转学。如果有一个学期的学校不一样,那么学生确实转学了。我希望将Transfer设置为二分变量(0,1) 这是我的试验数据 Semester <-c(1,2,3,4,5,1,2,3,4,1,2,3,4,5,1,2,3,1,2,1,2,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,1,2,3,4) Student <- rep(c("A",

我有一份学生名单,我需要看看有多少学生被转到了不同的大学

第一个条目代表学生的“家庭学校”,如果大学条目在所有学期都保持不变,则学生不会转学。如果有一个学期的学校不一样,那么学生确实转学了。我希望将Transfer设置为二分变量(0,1)

这是我的试验数据

Semester <-c(1,2,3,4,5,1,2,3,4,1,2,3,4,5,1,2,3,1,2,1,2,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,1,2,3,4)
Student <- rep(c("A","B","C","D","E","F","G","H","I","J"),c(5,4,5,3,2,2,5,6,4,4))
College <- rep(c("ATC","CCTC","DTC","FDTC","GTC","HGTC","MTC","NETC"),c(5,6,4,5,6,4,5,5))
test.dat1 <- cbind(Semester,Student, College)

<代码>学期> > <代码>组> < /代码>每个学生,然后将家庭学校视为该学生的第一所大学。

转移列将是家庭学校和新学校是否不同的数字逻辑结果

编辑:如果有多所大学就读,新学校是第一所与母校不同的学校

library(tidyverse)

test.dat1 %>%
  as.data.frame() %>%
  group_by(Student) %>%
  summarise(Home_School = first(College),
            New_School = if_else(n_distinct(College) > 1, first(College[College != first(College)]), Home_School),
            Transfer = +(Home_School != New_School))
输出

# A tibble: 10 x 4
   Student Home_School New_School Transfer
   <fct>   <fct>       <fct>         <int>
 1 A       ATC         ATC               0
 2 B       CCTC        CCTC              0
 3 C       CCTC        DTC               1
 4 D       DTC         FDTC              1
 5 E       FDTC        FDTC              0
 6 F       FDTC        GTC               1
 7 G       GTC         GTC               0
 8 H       HGTC        MTC               1
 9 I       MTC         NETC              1
10 J       NETC        NETC              0
#一个tible:10 x 4
学生家庭学校新学校转学
1 A ATC 0
2 B CCTC CCTC 0
3中央控制中心故障诊断码1
4维DTC FDTC 1
5e时域有限差分法
6F FDTC GTC 1
7克GTC GTC 0
8小时HGTC MTC 1
9 I MTC NETC 1
10 J NETC NETC 0

你的例子不是重复性的。我很抱歉,我没有意识到学期线没有出现。谢谢。我有一个问题,如果新学校不是某个学生的最后一个位置怎么办?是的,这可能是我需要解释的情况,非常感谢你的帮助!