R 如何摆脱NA';他在cbind
我正在解析XML-TEI文件。下面是向量,我有这个脚本:R 如何摆脱NA';他在cbind,r,xml,cbind,R,Xml,Cbind,我正在解析XML-TEI文件。下面是向量,我有这个脚本: cat_xmlID <- getNodeSet(doc, "//ns:category/@xml:id", ns) cat_xmlID role=unlist(cat_xmlID[27:29]) context=unlist(cat_xmlID[9:25]) sphere=unlist(cat_xmlID[4:7]) sex=unlist(cat_xmlID[49:50]) n <- max(length(conte
cat_xmlID <- getNodeSet(doc, "//ns:category/@xml:id", ns)
cat_xmlID
role=unlist(cat_xmlID[27:29])
context=unlist(cat_xmlID[9:25])
sphere=unlist(cat_xmlID[4:7])
sex=unlist(cat_xmlID[49:50])
n <- max(length(context), length(role), length(sphere), length(sex))
length(context) <-n
length(role) <-n
length(sphere) <-n
length(sex) <-n
catTab_ObjV=cbind(role, context, sphere, sex)
catTab_ObjV
当然,我有很多NAs。我不理解上述帖子和其他几篇帖子中关于如何摆脱NAs的解释——没有一篇文章对NA forcbind
函数给出相关解释。
我必须说我是一个初学者在R
你能帮我吗?
提前,谢谢。简短的回答是:你不能(去掉
cbind()
中的NA
s),因为cbind()
意味着输出一个矩形表(data.frame
或matrix
),这些表要求所有列的长度一致NA
是最接近“无值”的值。还有NULL
,但是NULL
不能填充表的单元格
它似乎是一个数据。框架
或矩阵
在这里不是合适的数据结构,它可能是一个列表形式的不规则数组:列表(角色=角色,上下文=上下文,球体=球体,性别=性别)
但您的评论更清楚地表明,真正的问题是关于显示,而不是其他任何问题,因此仅针对这一特定情况,因为列表不适合干净显示,所以让我们将其保留为矩阵
因此,这实际上取决于您打算如何在最终输出中显示数据(LaTeX?HTML?从打印()复制粘贴
?)
例如,您可以使用空字符串“hacky”替换
NA
”,例如:catTab_ObjV[is.NA(catTab_ObjV)]您可以发布样本数据吗?我已经添加了样本数据。您想要的输出是什么?它是一个矩形表吗?如果是,您想要什么来代替NAs?或者它是一个参差不齐的数组,在这种情况下,用list(role=role,context=context,…)替换cbind(…)?我不想要任何值,所以没有NA。此模板的目标是列出每个类别(角色、上下文、领域、性别)的属性。所以NA在这里没有任何意义。它将不用于计算,而仅用于显示我将用于分析调查的内容。如果我的回答解决了您的问题,请您将其标记为已接受。感谢您的回复,并对我的迟交回复表示歉意。我想在屏幕上打印,所以我使用write.csv2
,但我仍然有NA。我已经尝试过你的解决方案,但它不起作用,可能是因为它是自制的或乳胶。write.csv2
有一个na
参数,默认为“na”
。使用write.csv2(catTab_ObjV,“path/to/csv”,na=“”)
我遵循您的示例:write.csv2(catTab_ObjV,file=“categories”template of objective variables taxonomy.csv”,na=“”)
,但我仍然有“na”
如何打开生成的csv?我道歉!我首先查看了R的数据全局环境。但在阅读了您的最后一个问题后,我用Excel打开了它。它起作用了!!非常感谢。
role context sphere sex
id "active" "ritual" "inside" "male_Sx"
id "passive" "battle" "outside" "female_Sx"
id "both_active" "singleCombat" "unknown_S" NA
NA "prayer" "B_ctx_S" NA
NA "assembly" NA NA
NA "feast" NA NA
NA "wedding" NA NA
NA "burial" NA NA
NA "seduction" NA NA
NA "meeting" NA NA
NA "complaint" NA NA
NA "lawsuit" NA NA
NA "threat" NA NA
NA "revenge" NA NA
NA "visit" NA NA
NA "unknown_C" NA NA
NA "B_ctx_C" NA NA
library(xtable)
foo <- c("a", "b", "c")
bar <- c("d", "e", NA)
tab <- cbind(foo, bar)
tab
# foo bar
# [1,] "a" "d"
# [2,] "b" "e"
# [3,] "c" NA
print.xtable(xtable(tab), type = "html")
# <!-- html table generated in R 3.3.2 by xtable 1.8-2 package -->
# <!-- Sat Mar 18 11:54:06 2017 -->
# <table border=1>
# <tr> <th> </th> <th> foo </th> <th> bar </th> </tr>
# <tr> <td align="right"> 1 </td> <td> a </td> <td> d </td> </tr>
# <tr> <td align="right"> 2 </td> <td> b </td> <td> e </td> </tr>
# <tr> <td align="right"> 3 </td> <td> c </td> <td> </td> </tr>
# </table>