r - 如何在 R 中重新排列数据框
问题描述
我有一个简单的问题,但对 R 很陌生,我似乎无法弄清楚。我有以下结构的数据框:
V1 V2 V3 V4
STATE 0 0 1 1
Period 1 2 1 2
avg_FTE 40 35 42 35
我想将其重新排列为以下内容:
STATE 0 1
Period 1 40 42
Period 2 35 35
我希望答案很简单,但由于某种原因,这让我很困惑。
提前谢谢了!
解决方案
library(reshape)
Input = (
'V1 V2 V3 V4
STATE 0 0 1 1
Period 1 2 1 2
avg_FTE 40 35 42 35 ')
df = read.table(textConnection(Input), header = T)
df <- as.data.frame(t(df))
t(dcast(df, STATE~Period, fill=0))
[,1] [,2]
STATE 0 1
1 40 42
2 35 35
我们可以稍微修正一下输出:
colnames(res) <- res[1,]
res <- res[-1,]
0 1
1 40 42
2 35 35
推荐阅读
- c# - 是否可以在每次调用时替换一个属性?
- python-3.x - 如何跟踪在容器内运行的 Alembic 脚本的状态
- pytorch - Pytorch 1.8 在调用 loss.backward() 时偶然挂起
- jquery - Jquery table.destroy 在第一次点击时不起作用
- xml-parsing - 以编程方式修改 FCP XML 文件中的持续时间?
- class - 有什么方法可以减少 Delphi 代码/以某种方式将其他对象放入变量中?
- python - 如何相互打印文件的行python
- twilio - 在会议成员加入时将其置于保留状态,然后全部取消保留?
- excel - 打开失败:ENOENT(没有这样的文件或目录)用于读取 Excel 文件
- java - 底部导航视图 setSelectedItem 在 Android Java 中崩溃的应用程序