我想 group/split 年龄值
I would like to group/split age values
我有一个数据集,其中包含猫在中心的 ID 号及其年龄。数据集如下所示:
ID Number Animal Type Age
121012 Cat 0.002
128129 Cat 1.000
429202 Cat 0.920
238232 Cat 15.000
132265 Cat 0.050
234235 Cat 9.000
682892 Cat 16.000
一只小猫的年龄数值小于1,换句话说,小猫可以是任何非整数的数字。
同时,成年猫的年龄值是任意整数。
我需要拆分数据,或者更好的是将小猫种群与成年种群进行分组,但我不知道。
(我对此还是很陌生,只用了 4 周,如果我听起来像个菜鸟,请见谅)
非常感谢任何可以提供帮助的人!
df_split = split(df, df$Age < 1)
或者您可能想要创建一个列来说明猫是小猫还是成年猫:
df$type_of_cat <- ifelse(df$age < 1, "Kitten", "Adult")
df_split = split(df, df$type_of_cat)
我假设你的 table 只包含猫。
如果您不想拆分数据,可以使用 dplyr::group_by
来确保 data.frame
.
的分组结构
library(tidyverse);
df %>%
mutate(isKitten = Age < 1) %>%
group_by(isKitten)
随后将在组级别执行任何进一步的数据操作。
例如,您可以计算每组的平均年龄:
df %>%
mutate(isKitten = Age < 1) %>%
group_by(isKitten) %>%
summarise(meanAge = mean(Age))
## A tibble: 2 x 2
# isKitten meanAge
# <lgl> <dbl>
#1 FALSE 10.2
#2 TRUE 0.324
除了上面的答案,再找下面两种方法,
方法一
df_kitten <- subset(df, Age <1)
df_adult <- subset(df, Age >= 1)
方法二
df_kitten <- df[df$Age < 1,]
df_adult <- df[df$Age >= 1,]
谢谢
巴拉吉
我有一个数据集,其中包含猫在中心的 ID 号及其年龄。数据集如下所示:
ID Number Animal Type Age
121012 Cat 0.002
128129 Cat 1.000
429202 Cat 0.920
238232 Cat 15.000
132265 Cat 0.050
234235 Cat 9.000
682892 Cat 16.000
一只小猫的年龄数值小于1,换句话说,小猫可以是任何非整数的数字。 同时,成年猫的年龄值是任意整数。
我需要拆分数据,或者更好的是将小猫种群与成年种群进行分组,但我不知道。
(我对此还是很陌生,只用了 4 周,如果我听起来像个菜鸟,请见谅)
非常感谢任何可以提供帮助的人!
df_split = split(df, df$Age < 1)
或者您可能想要创建一个列来说明猫是小猫还是成年猫:
df$type_of_cat <- ifelse(df$age < 1, "Kitten", "Adult")
df_split = split(df, df$type_of_cat)
我假设你的 table 只包含猫。
如果您不想拆分数据,可以使用 dplyr::group_by
来确保 data.frame
.
library(tidyverse);
df %>%
mutate(isKitten = Age < 1) %>%
group_by(isKitten)
随后将在组级别执行任何进一步的数据操作。
例如,您可以计算每组的平均年龄:
df %>%
mutate(isKitten = Age < 1) %>%
group_by(isKitten) %>%
summarise(meanAge = mean(Age))
## A tibble: 2 x 2
# isKitten meanAge
# <lgl> <dbl>
#1 FALSE 10.2
#2 TRUE 0.324
除了上面的答案,再找下面两种方法,
方法一
df_kitten <- subset(df, Age <1)
df_adult <- subset(df, Age >= 1)
方法二
df_kitten <- df[df$Age < 1,]
df_adult <- df[df$Age >= 1,]
谢谢 巴拉吉