在数据框中的两列之间插入多列,并自动填充它们
insert multiple columns between two columns in a data frame and an automated way to fill them
我有一个名为 df 的数据框。
我的数据框有三列。代码、名称和集群
cluster 列包括从 1 到 10 的数字,这样每个数字表示该行属于哪个集群。
我想在列之间添加 10 列:名称和簇列并将它们命名为 p.1 到 p.10。
并填充这些列,如果簇列中的行值为 1,则 P.1 列中的相应单元格为 1,该行的其余部分为零。如果簇列中的行值为 2,则 P.2 列中的相应单元格为 1,该行的其余部分为零。等等。
我知道我必须在这里添加我的工作,这是我到目前为止一直在做的事情。但老实说,我什至不知道如何开始以自动化方式执行此操作。对于每一行,我都可以做到,但是因为我有大约 500 行,所以没有意义。
非常感谢帮助我解决这个问题。
编辑:
感谢您介绍 dummy_cols() 函数。
现在我想知道,是否有任何类似的直接函数可以用其他值而不是 1 来填充列。
library(fastDummies)
df <- data.frame(Cluster = sample(1:10, 100, replace = TRUE))
df <- dummy_cols(df, select_columns = "Cluster")
我有一个名为 df 的数据框。
我的数据框有三列。代码、名称和集群
cluster 列包括从 1 到 10 的数字,这样每个数字表示该行属于哪个集群。
我想在列之间添加 10 列:名称和簇列并将它们命名为 p.1 到 p.10。
并填充这些列,如果簇列中的行值为 1,则 P.1 列中的相应单元格为 1,该行的其余部分为零。如果簇列中的行值为 2,则 P.2 列中的相应单元格为 1,该行的其余部分为零。等等。
我知道我必须在这里添加我的工作,这是我到目前为止一直在做的事情。但老实说,我什至不知道如何开始以自动化方式执行此操作。对于每一行,我都可以做到,但是因为我有大约 500 行,所以没有意义。
非常感谢帮助我解决这个问题。
编辑:
感谢您介绍 dummy_cols() 函数。
现在我想知道,是否有任何类似的直接函数可以用其他值而不是 1 来填充列。
library(fastDummies)
df <- data.frame(Cluster = sample(1:10, 100, replace = TRUE))
df <- dummy_cols(df, select_columns = "Cluster")