我是R的新手,我一直坚持这一点。我在下面有一个数据集,其中我创建了一个名为'amountOfTxn_array'的新数组列表变量,它按顺序包含三个数值。这些是从1月到3月的交易量。我的目标是从这个数组列表中创建新的变量,迭代'amountOfTxn_array'中的每个数据元素。
> head(myData_05_Array)
Index accountID amountOfTxn_array
1:00 8887 c(36.44, 75.00,185.24)
2:00 13462 c(639.45,656.10,237.00)
3:00 47249 c(0, 24, 2012)
4:00 49528 c(1189.20,2326.26,1695.89)
5:00 57201 c(24.67, 0.00, 0.00)
6:00 57206 c(0.00, 661.98,2957.68)
STR(myData_05_Array) 类'data.table'和'data.frame':3176 obs。 4个变量: $ accountID:int 8887 13462 47249 49528 57201 57206 58522 79073 80465 81032 ... $ amountOfTxn_200501:num 36.4 639.5 0 1189.2 24.7 ...... $ amountOfTxn_200502:num 75 656 24 2326 0 ... $ amountOfTxn_200503:num 185 237 2012 1696 0 ... $ amountOfTxn_array:3176的列表
此外,下面提供了用于创建新变量的示例代码,其中如果数组中的值大于100且0,则我想标记1。当我运行示例代码时,我得到“错误:(列表)对象无法强制输入'double'错误。我可以请求解决此问题。我非常感谢任何回复。 谢谢!
> for(i in 1:3)
+ {
+ if(myData_05_Array$amountOfTxn_array[i] > 100){
+ myData_05_Array$testArray[i] <- 1
+ }
+ else{
+ myData_05_Array$testArray[i] <- 0
+ }
+ }
错误:( list)对象无法强制输入'double'
我期待的是输出如下: amountOfTxn_testArray c(0,0,1) c(1,1,1) c(0,0,0) c(1,1,1) c(0,0,0) c(0,1,1)