【发布时间】:2018-06-01 19:17:25
【问题描述】:
我正在尝试创建一个脚本,该脚本将根据不同的值创建一个真值表。
例子
这个真值表是
我对 r 还很陌生。我知道它在数据分析方面有很多强大的功能,但这会很有帮助。正在考虑使用稀疏矩阵实现某些东西,但我不知道。
【问题讨论】:
-
看看
model.matrix
标签: r sparse-matrix truthtable
我正在尝试创建一个脚本,该脚本将根据不同的值创建一个真值表。
例子
这个真值表是
我对 r 还很陌生。我知道它在数据分析方面有很多强大的功能,但这会很有帮助。正在考虑使用稀疏矩阵实现某些东西,但我不知道。
【问题讨论】:
model.matrix
标签: r sparse-matrix truthtable
下次,请在您的问题中包含数据,并避免放置图片。
可能是这样使用data.table:
数据:
library('data.table')
df1 <- data.table(Name = c('Bob', 'Bob', 'Luke'),
Location = c('Texas', 'Ohio', 'Utah'),
Pet = c('Dog', 'Cat', 'Dog'),
Coder = c(1,0,1),
stringsAsFactors = FALSE )
代码:
df1[, id := .I ] # assign unique id, and later it will be removed
select_cols <- c('Name', 'Location', 'Pet') # selected columns
dcast( data = melt(df1, measure.vars = select_cols ),
formula = "id + Coder ~ value",
fun.aggregate = length,
fill = 0 )[, id := NULL ][]
# Coder Bob Cat Dog Luke Ohio Texas Utah
# 1: 1 1 0 1 0 0 1 0
# 2: 0 1 1 0 0 1 0 0
# 3: 1 0 0 1 1 0 0 1
【讨论】: