Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
使用tidyverse将组内的长向宽移位_R_Tidyverse - Fatal编程技术网

使用tidyverse将组内的长向宽移位

使用tidyverse将组内的长向宽移位,r,tidyverse,R,Tidyverse,这个我算不出来。 我如何从: Visit Test 1 A 1 B 2 A 2 C 3 B 致: 使用dplyr和tidyr,您可以 dd %>% mutate(Value=TRUE) %>% spread(Test, Value, fill=FALSE) # Visit A B C # 1 1 TRUE TRUE FALSE # 2 2 TRUE FALSE TRUE # 3

这个我算不出来。 我如何从:

Visit Test
1     A
1     B
2     A
2     C
3     B
致:

使用dplyr和tidyr,您可以

dd %>% mutate(Value=TRUE) %>% 
  spread(Test, Value, fill=FALSE)

#   Visit     A     B     C
# 1     1  TRUE  TRUE FALSE
# 2     2  TRUE FALSE  TRUE
# 3     3 FALSE  TRUE FALSE
测试

dd<-read.table(text="Visit Test
       1     A
       1     B
       2     A
       2     C
       3     B", header=T)
另一个选项是将reformae2::dcast与fun.aggregate一起使用,以检查长度是否大于0

数据:

dd<-read.table(text="Visit Test
       1     A
       1     B
       2     A
       2     C
       3     B", header=T)
library(reshape2)

dcast(df,Visit~Test, fun.aggregate = function(x)length(x)>0, value.var = "Test")

#   Visit     A     B     C
# 1     1  TRUE  TRUE FALSE
# 2     2  TRUE FALSE  TRUE
# 3     3 FALSE  TRUE FALSE
df<-read.table(text="Visit Test
1     A
1     B
2     A
2     C
3     B", 
header=TRUE, stringsAsFactor = FALSE)