【发布时间】:2014-11-07 19:01:28
【问题描述】:
这似乎是一个如此简单的任务,它让我无法弄清楚。
使用 apply 后我得到了输出,现在我要做的就是在 data.frame 的末尾将输出添加为一个名为 uniq 的新行。
df
ID A B C
1 asd dfg ghj
2 qwe sde cdf
3 wed thy red
4 asd sde grf
5 swq sde hty
uniq = apply(df, 2, function(x)length(unique(x)))
uniq 输出:命名为 int [1:4]
ID A B C
5 4 3 5
new.df = rbind(df, uniq)
我想看什么...
ID A B C
1 asd dfg ghj
2 qwe sde cdf
3 wed thy red
4 asd sde grf
5 swq sde hty
5 4 3 5
错误 - 有 4 个警告(使用 warnings() 查看)
我查看了数据,虽然添加了一个新行,但总数不存在,而是我在每个单元格中都得到了 NA(除了两个,但我不知道为什么)。
我看到也许我不能只使用 rrbind,因为它们不是相同类型的文件,甚至尝试将输出转换为有人建议的矩阵,但它不起作用。啊!
new.df
match.names(clabs, names(xi)) 中的错误: 名字与以前的名字不匹配
我检查了标题并且它们匹配 - 毕竟所有 uniq 数据都来自原始 df。
非常感谢任何帮助。
【问题讨论】:
-
您能重新格式化并将您的代码放入代码标签中吗?这将有助于我们阅读。
-
如果您提供示例数据也会很有帮助。
-
我将添加示例数据
-
我无法从您的示例中看出,但我怀疑您的 df 列是因素。如果是这样,那么您的
rbinding 正在尝试添加未知级别的因子。可以加str(df)吗?