从多个虚拟变量到单个变量

发布于 2024-10-26 10:37:07 字数 372 浏览 0 评论 0原文

如何获取数据框中互斥的 n 个虚拟变量并将它们连接成单个变量?在下面的示例中,

k <- data.frame(H=sample(c(T, F), 100, T))
ifelse(k$H==T, F, sample(c(T, F))) -> k$k
k$u <- ifelse(k$H==T | k$k==T, F, T)

有一种简单的方法可以将它们转换为具有级别 Hku 的变量 i >?

在这个例子中,我想你可以使用 ifelse 等来完成,但是在我的数据文件中,我有数百个虚拟对象,我懒得手动执行此操作。

How can I take n dummy variables that are mutually exclusive in a data frame and concatenate them into a single variable? In the following example

k <- data.frame(H=sample(c(T, F), 100, T))
ifelse(k$H==T, F, sample(c(T, F))) -> k$k
k$u <- ifelse(k$H==T | k$k==T, F, T)

is there an easy method of converting these into one variable i with levels H, k or u?

I guess you could do it with ifelse etc., in this example, but in my data file I have several hundred dummies and I´m too lazy to do this manually.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏辞 2024-11-02 10:37:20
k$i <- names(k)[apply(k, 1, which)]

会将 bool 转换为一个虚拟变量。

k$i <- names(k)[apply(k, 1, which)]

will convert bool into one dummy variable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文