r - 如何修复“错误:matrix/data.frame 标准应该是合乎逻辑的。”
问题描述
我找不到
错误:matrix/data.frame 标准应该是合乎逻辑的。
在我的代码中。
#count prod_no downward
consoContact2$Count <- as.numeric("")
for (xNo in 1:nrow(consoContact2)){
consoContact2$Count[xNo] <- count_if(consoContact2[xNo,1],consoContact2[1:xNo,1])
}
数据样本:
Prod_No Order_No Reff_ID Count
1 03MB1902-118 920522XXXX 03MB1902-118'A**0920522XXXX NA
2 03MB1902-118 33333XXXX 03MB1902-118'C**033333XXXX NA
3 07MB1902-105 922977XXXX 07MB1902-105'A**0922977XXXX NA
4 07MB1902-105 32231XXXX 07MB1902-105'C**032231XXXX NA
5 07MB1902-105 32268XXXX 07MB1902-105'C**032268XXXX NA
这些必须是输出:
Prod_No Order_No Reff_ID Count
1 03MB1902-118 920522XXXX 03MB1902-118'A**0920522XXXX 1
2 03MB1902-118 33333XXXX 03MB1902-118'C**033333XXXX 2
3 07MB1902-105 922977XXXX 07MB1902-105'A**0922977XXXX 1
4 07MB1902-105 32231XXXX 07MB1902-105'C**032231XXXX 2
5 07MB1902-105 32268XXXX 07MB1902-105'C**032268XXXX 3
解决方案
使用几种解决方案可以更简单地解决这个问题,其中一些在此处说明。因此,这是一个重复的问题。但是,这些不使用data.table
包,因此我将在此处提供使用此包的示例。有关更多信息,请在此处查看他们的 wiki 页面。此外,您的数据的最后一列似乎是合乎逻辑的,应将其更改为数字
library(data.table)
#Change from data.frame to data.table
setDT(data_sample)
#set count to be numeric
data_sample[, Count := as.integer(Count)]
#Change count to be the format needed.
data_sample[, Count := seq(1,.N), by = Prod_No]
推荐阅读
- c# - Neo4j Driver C# 展开对象列表
- php - 使用通用键搜索多维 JSON 数组的值 - php
- jquery - 启动stream2时如何停止stream1
- r - 是否有 R 函数可以快速将文本转换为日期?
- excel - VBA slicercache 导出 PDF 循环分解 Excel
- flutter - 如何以正确的方式从 SharedPreferences 获取数据
- c# - 我应该在我的 Task.Run() 中使用 await 吗?
- react-native - 如何在 React Native 中增加快餐栏高度并调整文本大小?
- image - 在颤动的图像上绘制形状
- shell - 根据另一个键值更改 JSON 中对象的值 - shell