r - 更改具有唯一值的多列中的值并合并为单列 (R)
问题描述
假设我有一个包含 4 行和 3 个变量的数据集 (ds),如下所示:
ds
x1 x2 x3
1 0 0
0 0 1
0 1 0
0 0 1
如何将“1”更改为每列的唯一值并将它们组合成一列?
所以,第一步:
x1 x2 x3
1 0 0
0 0 3
0 2 0
0 0 3
然后,第二步(创建x4
):
x1 x2 x3 x4
1 0 0 1
0 0 3 3
0 2 0 2
0 0 3 3
我有比这更多的变量,我只想知道如何最小化我写的行数,所以它不像 10+ 行。
解决方案
你可以这样做:
df <- read.table(text="x1 x2 x3
1 0 0
0 0 1
0 1 0
0 0 1", header=TRUE, stringsAsFactors=FALSE)
df <- df*col(df)
df$x4 <- rowSums(df)
x1 x2 x3 x4
1 1 0 0 1
2 0 0 3 3
3 0 2 0 2
4 0 0 3 3
推荐阅读
- regex - 从括号中的字符串中提取部分
- rest - 如何从颤振中调用 API
- sas - SAS:SAS RSUBMIT 中的程序路径
- reactjs - 找不到插件“proposal-numeric-separator”
- javascript - 每次我尝试在我的网络应用程序中更新个人资料时都会收到此消息
- c# - 使用 http 而不是 https 时,Azure 函数 POST 解释为 GET
- python - 如何在 BeautifulSoup 上抓取产品图库图片链接
- html -
- android - Firebase onDataChange() 函数运行 Android 所需的时间非常不同
- azure - 触发选项不适用于管道在调试模式下成功运行的参数管道