如何在R dataframe中最容易地将多个列作为一个列放置?
如何使第1、2、3、4列中的值显示为单个第1列中的值,其中一个值位于另一个值的下方?内容是非数字的。由于某些原因,我无法安装tidy verse软件包。还有其他可能实现的方法吗?我的数据帧df看起来像这样如何在R dataframe中最容易地将多个列作为一个列放置?,r,R,如何使第1、2、3、4列中的值显示为单个第1列中的值,其中一个值位于另一个值的下方?内容是非数字的。由于某些原因,我无法安装tidy verse软件包。还有其他可能实现的方法吗?我的数据帧df看起来像这样 df Person1 Person2 Person3 赛尔夫医生 我希望数据框是:df1人医生朋友自我自我自我否其他人否测向 col1 col2 col3 再来一点 2串 >图书馆(tidyr) >轴长(df,c(col1,col2,col3)) #一个tibble:6x2 名称值 一杯一点
df
Person1 Person2 Person3
赛尔夫医生
我希望数据框是:
df1
人
医生
朋友
自我
自我自我
否
其他人
否
<一般规则,检查关于如何在R中制作一个可复制的示例的优秀答案。这将帮助其他人更快地提供答案
您可以使用tidyr
找到一种获取长格式数据的方法(假设您的列中填充了您提到的stirng)
>测向
col1 col2 col3
再来一点
2串
>图书馆(tidyr)
>轴长(df,c(col1,col2,col3))
#一个tibble:6x2
名称值
一杯一点
2杯,再来2杯
3 col3 lotof
4 col1字符串
5 col2字符串
6列3字符串
关于软件包安装问题,能否复制弹出的错误和sessionInfo()
或
范例
library(reshape)
mdata <- melt(mydata, id=c("id","te"))
请提供一个简单的工作示例来说明您想要做什么。查看如何制作一个可重复性最低的示例。如果没有这些,我只能猜测你的意思,并建议看一看?重塑选中基本R重塑功能帮助(重塑)
。您正在尝试从宽变长。欢迎使用StackOverflow!请阅读相关信息以及如何给出建议。这将使其他人更容易帮助你。
reshape::melt()
library(reshape)
mdata <- melt(mydata, id=c("id","te"))
d t v value
1 1 x1 5
1 2 x1 3
2 1 x1 6
2 2 x1 2