【发布时间】:2015-09-16 20:12:44
【问题描述】:
我有如下所示的示例数据
Die Device Id Vg W L
1 Device1 1 0 10 1
1 Device1 1.2 0.1 10 1
1 Device1 1.3 0.2 10 1
1 Device2 1 0 10 2
1 Device2 1.2 0.1 10 2
1 Device2 1.3 0.2 10 2
1 Device3 1 0 10 3
1 Device3 1.2 0.1 10 3
1 Device3 1.3 0.2 10 3
输入输出:
data_tidy <- structure(list(Die = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), Device = c("Device1",
"Device1", "Device1", "Device2", "Device2", "Device2", "Device3",
"Device3", "Device3"), Id = c(1, 1.2, 1.3, 1, 1.2, 1.3, 1, 1.2,
1.3), Vg = c(0, 0.1, 0.2, 0, 0.1, 0.2, 0, 0.1, 0.2), W = c(10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L), L = c(1L, 1L, 1L, 2L,
2L, 2L, 3L, 3L, 3L)), .Names = c("Die", "Device", "Id", "Vg",
"W", "L"), class = "data.frame", row.names = c(NA, -9L))
我正在使用以下代码在指定的Id 处插入Vg 的值。
data_tidy %>% group_by(Die,Device) %>%
mutate(Vt=approx(x=log10(Id), y=Vg, xout=log10(3e-8*W/L))$y)
我收到一个错误提示
错误:无效的下标类型'double'
我很惊讶,因为几天前我能够编译这段代码而没有任何错误。我还在论坛here 上讨论过代码。我不确定是什么问题。任何帮助将不胜感激。
【问题讨论】:
-
您的数据中某处的 Id 为零?
-
我在上面的示例数据上运行代码,其中 Id 不是 0,但我仍然收到错误。
-
您的代码和数据没有出现任何此类错误
-
看了你的评论后我又试了一次。我犯了同样的错误。不知道这里发生了什么。
-
不,我认为你不是。请参阅下面的答案。
标签: r