这是在 R 中使用 tidyr 库中的 separate_rows 实现的。
我已经以这种方式自己实现了
module Daru
class DataFrame
def separate_rows(vector, sep)
new_df = Daru::DataFrame.new
vectors.each { |vector| new_df[vector] = nil }
each(:row).each do |row|
if row[vector] == ""
new_df.add_row(row)
else
row[vector].split(sep).each do |str|
row[vector] = str
new_df.add_row(row)
end
end
end
new_df
end
end
end