在R中,你可以使用tidyr
包中的pivot_longer()
函数将二进制分类变量转换为长数据格式。下面是一个简单的例子:
假设你有以下数据框(data frame):
# 创建一个示例数据框
df <- data.frame(
id = 1:5,
var1 = c(1, 0, 1, 1, 0),
var2 = c(0, 1, 0, 1, 1)
)
此数据框包含5个观测值,每个观测值有3个变量:id
,var1
和var2
。var1
和var2
是二进制分类变量。
现在,我们希望将这些二进制分类变量转换为长数据格式,其中每个变量成为一个单独的观测值。
# 加载tidyr包
library(tidyr)
# 使用pivot_longer()函数转换数据
long_df <- pivot_longer(df, cols = starts_with("var"), names_to = "variable", values_to = "value")
# 查看转换后的数据框
long_df
转换后的长数据格式如下:
# A tibble: 10 x 3
id variable value
<int> <chr> <dbl>
1 1 var1 1
2 1 var2 0
3 2 var1 0
4 2 var2 1
5 3 var1 1
6 3 var2 0
7 4 var1 1
8 4 var2 1
9 5 var1 0
10 5 var2 1
这样,我们就成功地将二进制分类变量转换为了长数据格式。
领取专属 10元无门槛券
手把手带您无忧上云