r - 如何将多个变量放在列内作为r中的一个因素
问题描述
制作数据结构时遇到问题。
lv1<-c(5,2,8)
lv2<-c(9,3,6)
lv3<-c(5,0,2)
df<-data.frame(lv1,lv2,lv3)
数据中的结果是lv1、lv2、lv3下的人数。但是我想研究人数和不同lv之间的关系,所以我想把它转换成这样:
lv<- c('lv1','lv1','lv1','lv2','lv2','lv2','lv3','lv3','lv3')
number.of.people<-(c(5,2,8,9,3,6,5,0,2))
new.df<-data.frame(lv,number.of.people)
有什么代码我可以做到吗?
解决方案
你需要tidyverse
:
library(tidyverse)
new.df%>%
gather(lv,number.of.people)
lv number.of.people
1 lv1 5
2 lv1 2
3 lv1 8
4 lv2 9
5 lv2 3
6 lv2 6
7 lv3 5
8 lv3 0
9 lv3 2
推荐阅读
- asp.net-core - 在 Vue.js 站点上使用带有 HardSource 的 Webpack 意外和神秘的 dotnet 运行“失败”消息
- c# - QR 解码不适用于 ZXing 和 Aforge
- python - 在 pandas 中获取最后一分钟的所有行
- javascript - 确保仅在前一个函数完成运行时才调用 JavaScript 函数
- python - pyautogui.click() 在另一个程序上不起作用
- sql-server - 在 SQL Server 2017 中从 XML 查询值
- ios - 如何将导航按钮一直限制在左侧或右侧?(iOS)
- python - 在带有 python 的多处理模块的池工作者中使用本地内存
- python - Python - 如何知道媒体播放器正在播放哪首歌(最好是 VLC)
- c# - 可以调用无限运行的 Python 脚本的 Windows 服务(在 C# 中)?