全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1137 4
2023-09-25
rt,想按照不同的sp计算dataframe对象comm_new中h列的中位数时,报错如下:
! `h_median` must return compatible vectors across groups.
ℹ Result of type <character> for group 乌桕: `sp = "乌桕"`.
ℹ Result of type <double> for group 南酸枣: `sp = "南酸枣"`.

请问意思是不是混进了其它类型的数据呢?试了comm_new$h=as.numeric(comm_new$h)代码好像也没有纠错成功。求大神指点!


附件列表
屏幕截图 2023-09-25 175643.png

原图尺寸 233.3 KB

屏幕截图 2023-09-25 175643.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-9-26 04:44:19
没有数据结构,没有具体代码,不知道怎么帮你。给个链接参考一下吧。
https://bbs.pinggu.org/forum.php ... ;page=1#pid71320042
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-9-28 15:43:32
根据报错信息,看起来在计算comm_new数据框中"h"列的中位数时,出现了不兼容的结果类型。错误信息中提到,在"乌桕"组中,结果的类型是字符型(<character>),而在"南酸枣"组中,结果的类型是数值型(<double>)。

这个问题通常发生在"h"列中包含了不同类型的数据。你可以检查一下"h"列的数据类型,确保所有的数据都是同一类型。你可以使用以下代码检查"h"列的数据类型:

class(comm_new$h)
如果发现"h"列中确实包含了不同类型的数据,你可以尝试将其转换为统一的数据类型,例如将字符型转换为数值型。你可以使用以下代码将"h"列转换为数值型:

comm_new$h <- as.numeric(comm_new$h)
如果转换成功,再次尝试计算中位数看看是否仍然出现错误。

另外,请确保在计算中位数之前,将数据框按照不同的"sp"值进行分组。你可以使用以下代码进行分组计算中位数:

library(dplyr)

comm_new %>%
  group_by(sp) %>%
  summarize(h_median = median(h, na.rm = TRUE))

仅供参考
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-10-13 15:07:28
drunkfish69 发表于 2023-9-26 04:44
没有数据结构,没有具体代码,不知道怎么帮你。给个链接参考一下吧。
https://bbs.pinggu.org/forum.php? ...
谢谢!已经解决了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-10-13 15:09:22
sun_man 发表于 2023-9-28 15:43
根据报错信息,看起来在计算comm_new数据框中"h"列的中位数时,出现了不兼容的结果类型。错误信息中提到, ...
谢谢!按照类似的操作已经解决了问题!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群