これは、tidyr lib の separate_rows を使用して R に実装されています。
私はこのように自分で実装しました
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