繁体   English   中英

如何为整个 dataframe 创建一个虚拟变量?

[英]how do i create a dummy variable for the whole dataframe?

我有一个 dataframe 充满随机生成的数字,从 -100 到 100,10 列乘 10 行。 我想创建一个虚拟变量,以便它创建一个新列,如果任何列或行中的值大于 50,则表示为 1,如果不是,则表示为 0。我该怎么做?

这是我在下面的 dataframe 的代码。

df<- matrix(-100:100, ncol=10, nrow=10)

我将如何使用 mutate 或任何其他方式来创建这个虚拟列?

请注意,仅当您有对称数据帧/矩阵时,为 colMeans 创建一个虚拟变量才有意义。

library(tidyvese)

# set seed for reproducibility
seed(41) 

# create the dataframe.
# please note that in your example you produced a matrix not a dataframe

df <- matrix(sample(0:100, 100, replace = T), ncol=10, nrow=10) %>% as.data.frame()


#use dplyr::mutate to create the dummy variables using base::rowMeans and base::colMeans

df <- df %>% mutate(dummy_rows = ifelse(rowMeans(df) >50, 1,0),
                    dummy_cols = ifelse(colMeans(df) >50, 1,0))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM