我目前正试着用我的数据做t检验.我有三个变量(或者说分组)。养猫、养狗或不养宠物的人。现在,我想组成小组,把猫和狗人分成一个叫做“宠物”的群体。然后我把这一组和“不养宠物”组做比较。我该怎么做?
> mytable <- read.csv2("versuch.csv")
> mytable
cats dogs none
1 3 1 3
2 5 2 2
3 3 6 5
4 8 8 9
5 5 5 8
6 6 9 2我想让它看起来像这样
> mytable <- read.csv2("versuch.csv")
> mytable
cats dogs none pets
1 3 1 3 3
2 5 2 2 5
3 3 6 5 3
4 8 8 9 8
5 5 5 8 5
6 6 9 2 6
7 1
8 2
9 6
10 8
... ....基本上,我想要一个额外的变量,它包含猫和狗两个变量的值。是否有可能做到这一点?
发布于 2021-05-09 10:36:05
数据文件中不同列的行数不能不等。您可以将NA的内容附加到其他列中。
vec <- unlist(mytable[c('cats', 'dogs')], use.names = FALSE)
mytable <- cbind(mytable[1:length(vec), ], pets = vec)
rownames(mytable) <- NULL
mytable
# cats dogs none pets
#1 3 1 3 3
#2 5 2 2 5
#3 3 6 5 3
#4 8 8 9 8
#5 5 5 8 5
#6 6 9 2 6
#7 NA NA NA 1
#8 NA NA NA 2
#9 NA NA NA 6
#10 NA NA NA 8
#11 NA NA NA 5
#12 NA NA NA 9数据
mytable <- structure(list(cats = c(3L, 5L, 3L, 8L, 5L, 6L), dogs = c(1L,
2L, 6L, 8L, 5L, 9L), none = c(3L, 2L, 5L, 9L, 8L, 2L)),
class = "data.frame", row.names = c(NA, -6L))发布于 2021-05-09 14:45:33
我们可以使用来自add_row包的tibble:
library(tidyverse)
df %>%
mutate(pets = cats) %>%
add_row(pets = df$dogs)输出:
cats dogs none pets
<dbl> <dbl> <dbl> <dbl>
1 3 1 3 3
2 5 2 2 5
3 3 6 5 3
4 8 8 9 8
5 5 5 8 5
6 6 9 2 6
7 NA NA NA 1
8 NA NA NA 2
9 NA NA NA 6
10 NA NA NA 8
11 NA NA NA 5
12 NA NA NA 9数据:
df <- tibble::tribble(
~cats, ~dogs, ~none,
3, 1, 3,
5, 2, 2,
3, 6, 5,
8, 8, 9,
5, 5, 8,
6, 9, 2)https://stackoverflow.com/questions/67456275
复制相似问题