R 链接的ifelse()结果为';数据帧';单元格中的值
因此,我创建了一个列,它使用一个链式ifelse()函数在其他列中使用条件值,该函数返回“低”、“中”或“高”。通过R中的环境查看数据帧时,此单元格的值会正确显示。但是,如果我尝试使用openxlsx将数据帧导出到xlsx,则会出现以下错误:R 链接的ifelse()结果为';数据帧';单元格中的值,r,excel,list,R,Excel,List,因此,我创建了一个列,它使用一个链式ifelse()函数在其他列中使用条件值,该函数返回“低”、“中”或“高”。通过R中的环境查看数据帧时,此单元格的值会正确显示。但是,如果我尝试使用openxlsx将数据帧导出到xlsx,则会出现以下错误: write.xlsx(Data, file = "Analysis.xlsx") Error in is.nan(tmp) : default method not implemented for type 'list' 然后,当
write.xlsx(Data, file = "Analysis.xlsx")
Error in is.nan(tmp) : default method not implemented for type 'list'
然后,当我使用str(data)检查列数据类型时,我得到以下输出:
$ Financial : chr "Correct" "Correct" "Correct" "Correct" ...
$ Composite : num 5 5 3.64 5.36 4 ...
$ Risk :'data.frame': 30 obs. of 1 variable:
..$ Appetite: chr "High" "High" "High" "Low" ...
当我使用转换数据$Risk列时
Data <- as.character(Data$Risk)
在as.character操作之前,该行是可查看的(以前两行为例):
使用dput:
dput(Data$Risk)
structure(list(Appetite = c("High", "High", "High", "Low", "High",
"Medium", "Low", "Medium", "Low", "Medium", "Medium", "Medium",
"Medium", "Medium", "Medium", "Medium", "Medium", "Low", "Medium",
"Low", "High", "Low", "Medium", "Medium", "High", "High", "Medium",
"Medium", "Medium", "Medium")), row.names = c(NA, -30L), class = "data.frame")
如何使此列可读为.character,而不使其中的内容不可读?您可能需要添加
$restine
Data <- as.character(Data$Risk$Appetite)
数据我认为数据看起来像这样:
xx由于您似乎有一个嵌入式框架,您可能可以使用SurveyData$Risk@r2evans“修复”它。我已将dput的输出放在OP中。我已经做了类似于您建议的事情,但是,我现在如何删除数据框架中的data.frame类?我似乎无法使用我建议的数据删除它dput(head(SurveyData))
,而不是dput(SurveyData$Risk)
。它们是不同的,我不确定它是如何集成到中的。你应该向我们展示创建坏对象的代码。谢谢,这很有效。怎么会在一列中有一列呢?我不知道我是如何创建它的。@M1ke您可以尝试dput(Data)
查看数据结构。是的,只是替换$Risk(我完全同意:为了避免这再次困扰您,最好查看创建此对象的代码。当然,这可能是一个新问题,但提供原因修复要比这里的症状修复好得多。很高兴它成功了!
dput(Data$Risk)
structure(list(Appetite = c("High", "High", "High", "Low", "High",
"Medium", "Low", "Medium", "Low", "Medium", "Medium", "Medium",
"Medium", "Medium", "Medium", "Medium", "Medium", "Low", "Medium",
"Low", "High", "Low", "Medium", "Medium", "High", "High", "Medium",
"Medium", "Medium", "Medium")), row.names = c(NA, -30L), class = "data.frame")
Data <- as.character(Data$Risk$Appetite)