r - 在 R 中创建“数据透视表”,每行填充因子值
问题描述
我想像这样输入日期:
library(plyr)
names(ChickWeight) <- tolower(names(ChickWeight))
ChickWeight$diet.name <- as.factor(revalue(ChickWeight$diet, c("1" = "Grain", "2" = "Grubs", "3" = "Scraps", "4" = "Free Range")))
创建:
> head(ChickWeight)
weight time chick diet diet.name
1 42 0 1 1 Grain
2 51 2 1 1 Grain
3 59 4 1 1 Grain
4 64 6 1 1 Grain
5 76 8 1 1 Grain
6 93 10 1 1 Grain
> tail(ChickWeight)
weight time chick diet diet.name
573 155 12 50 4 Free Range
574 175 14 50 4 Free Range
575 205 16 50 4 Free Range
576 234 18 50 4 Free Range
577 264 20 50 4 Free Range
578 264 21 50 4 Free Range
从这些数据中,提取另一组数据 ( chick.feed
),如下所示:
chick diet.name
1 Grain
2 Grain
. .
. .
. .
21 Grubs
22 Grubs
. .
. .
. .
31 Scraps
32 Scraps
. .
. .
. .
49 Free Range
50 Free Range
即,我想创建一个“数据透视表” chick.feed
(.chick
ChickWeight
(我的问题似乎与关于从长数据转换为宽数据的问题相似但不完全相同。)
解决方案
无需重塑。只需抓取所需的列并保留唯一的行:
unique(ChickWeight[ , c("chick", "diet.name")])
推荐阅读
- android - android studio Gradle 同步失败:不知道如何为 org.gradle.tooling.internal.gradle 构建模型
- openvpn - OpenVPN ping windows 服务器
- mysql - 这个sql查询能不能写得更好
- php - 如何统计在线用户?
- c# - C# 在 SqlDataReader 中禁用自动格式化
- java - 如何使用 Tika API 查找 .bat 文件的 mime 类型?
- reactjs - 设置 React Router 的优先级
- idris - 我可以避免在 Idris 的全部功能中明确排除无效案例吗?
- android - 使用 mockk 的测试用例无法正常工作
- python - 将聊天符号转换为表情符号或文本