Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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 - Fatal编程技术网

整理R中的数据集

整理R中的数据集,r,R,亲爱的各位,这是我的数据集,我想将其转换为以下内容: patient albumine date 1 ID1 37 03.08.2019 2 ID1 39 07.06.2018 3 ID2 30 03.08.2019 4 ID3 45 07.06.2018 1 ID3 37 03.08.2019

亲爱的各位,这是我的数据集,我想将其转换为以下内容:

      patient  albumine  date       
  1       ID1  37       03.08.2019  
  2       ID1  39       07.06.2018 
  3       ID2  30       03.08.2019  
  4       ID3  45       07.06.2018  
  1       ID3  37       03.08.2019  
  2       ID3  39       07.06.2018  
  3       ID3  30       03.08.2019  
  4       ID3  45       07.06.2018  
我试过了

      patient  albumine1  date1    albumine2  date2        ...
  1       ID1  37       03.08.2019     39       07.06.2018  
  2       ID2
df2%
传播(key=“patient”,value=“albumine”)
也许有人有主意? 最后,我想增加一个专栏,看看患者在过去两年中是否有两个或两个以上白蛋白水平超过35。 非常感谢你的帮助。这是我在这里的第一个问题,所以我希望我提供了足够的数据来帮助我。

最好的
卡罗

也许是这样的

df2 <-df %>%
spread(key="patient", value="albumine")
库(dplyr)
您的.data.frame%>%
突变(高蛋白=蛋白>=35,
2.2年内=as.numeric(Sys.Date()-as.Date(Date,tryFormats=“%d.%m.%y”))%
分组依据(患者)%>%
突变(高蛋白含量2年内=总和(高蛋白含量2年内))%>%
选择(-高蛋白,-2年内)

也许是这样的

df2 <-df %>%
spread(key="patient", value="albumine")
库(dplyr)
您的.data.frame%>%
突变(高蛋白=蛋白>=35,
2.2年内=as.numeric(Sys.Date()-as.Date(Date,tryFormats=“%d.%m.%y”))%
分组依据(患者)%>%
突变(高蛋白含量2年内=总和(高蛋白含量2年内))%>%
选择(-高蛋白,-2年内)


ID#标签在原始数据帧中重复的次数有上限吗?(在您的示例中,
ID3
出现5次,是最常见的标签。)亲爱的Aaron,非常感谢您的回答。我的数据集包括200000名患者。但我设法计算出,最常重复的ID重复了83次。我感谢您花费时间和精力来帮助我。您可以使用
dput()
函数提供您的数据吗?提供
dput(df)的输出
使它更容易被其他人复制。(它可能是您上面显示的数据的类似子集。)因此,在本例中,患者1进行了两次测试,患者2进行了一次测试,患者3进行了五次测试?@Caroliv我认为您的数据目前更为整洁。您可以获得过去2年内白蛋白水平为35或更高的患者ID的结果,而无需将数据转换为广泛的形式。您对该解决方案感兴趣吗?您是否有在原始数据帧中,
ID
标签将重复多少次的上限?(在您的示例中,
ID3
出现5次,是最常见的标签。)亲爱的Aaron,非常感谢您的回答。我的数据集包括200000名患者。但我设法计算出,最常重复的ID重复了83次。我感谢您花费时间和精力来帮助我。您可以使用
dput()
函数提供您的数据吗?提供
dput(df)的输出
使它更容易被其他人复制。(它可能是您上面显示的数据的类似子集。)因此,在本例中,患者1进行了两次测试,患者2进行了一次测试,患者3进行了五次测试?@Caroliv我认为您的数据目前更为整洁。您可以获得过去两年内白蛋白水平为35或更高的患者ID的结果,而无需将数据转换为广泛形式。您对该解决方案感兴趣吗?这是一个很好的解决方案例如,添加了一列,在过去2年内白蛋白检测数>=35。进一步定义哪些ID可能是病例对照组。df%变异(high.albumine=albumine>=35,in.2.years=as.numeric(Sys.Date()-as.Date)(Date,tryFormats=“%d.%m.%y”)%(high.albumine.within.2.years=sum(high.albumine&within.2.years))%>%select(-high.albumine,-within.2.years))对我来说,如果拆分它就可以工作,否则我会得到以下错误:UseMethod中的错误(“group_by_”):没有适用于“c类('double',numeric')对象的“group_by_”的适用方法@PaoloLorenzini,我没有过滤行,因为OP问:添加一个额外的列,看看患者在过去两年中是否有两个或两个以上白蛋白水平超过35,所以我想保留呈现的信息。我理解,很好。我想添加一行代码,过滤掉所有那些高白蛋白水平的行也很好。albumine&在过去两年中,白蛋白水平超过35的患者ID列表中,0.2年内等于0或1。这是一个很好的例子,添加了一列,在过去2年中白蛋白检测数>=35。进一步定义哪些ID可能是病例vs。控制.df%变异(high.albumine=albumine>=35,在.2.year内=as.numeric(Sys.Date()-as.Date(Date,tryFormats=“%d.%m.%y”)%mutate(high.albumine.within.2.year内=总和(high.albumine&在.2.year内))%%选择(-high.albumine,-在.2.year内))对我来说,如果拆分它就可以工作,否则我会得到以下错误:UseMethod中的错误(“group_by_”):没有适用于“group_by_”的方法应用于类“c”('double','numeric')的对象@PaoloLorenzini,我没有过滤行,因为OP问:添加一个额外的列,看看患者在过去两年中是否有两个或两个以上白蛋白水平超过35,所以我想保留呈现的信息。我理解,很好。我想添加一行代码,过滤掉所有那些高白蛋白水平的行也很好。白蛋白&inner.2.years等于0或1,以获得过去两年白蛋白水平超过35的患者ID列表
library(splitstackshape)
dcast(getanID(df, 'patient'), patient~.id, value.var=c('albumine',"date"))