错误:https://thepb.in/p/2RhK293yo50c4
PID <- character()
COVERAGE <- integer()
coverage <- data.frame(c(PID, COVERAGE))
coverage["PID"] <- laf[1:2,"PID"];
print(coverage);
给出0行
[1] c.PID..COVERAGE. PID
<0 rows> (or 0-length row.names)
,而:
print(laf[1:2,"PID"])
给出2行包含PID
的数据[1] "laf[1:2,\"PID\"]:"
PID
1 4115077351
2 4115077354
更新
如果我使用的话还会出现一些错误:
coverage[["PID"]] <- laf[1:2,"PID"];
错误:
Error in `$<-.data.frame`(`*tmp*`, "PID", value = list(PID = c("4115077351", :
replacement has 2 rows, data has 0
评论中的每个请求已更新:
此固定宽度文件读入laf:
4115077351 I29
4115077354 I27 27M5S
411507735519480667E67194806 M5M
答案 0 :(得分:0)
使用:
coverage[["PID"]] <- laf[1:2,"PID"]
您正在分配 coverage 的子集(通过子集运算符[
)。您应该分配给成员([[
是成员访问权限)。这两个功能不同。当您需要分配(或访问)列表成员时,请使用[[
。当您需要访问列表的子集时,请使用[
。
可以分配给列表的子集但应该与结构匹配。通常您需要[[
来分配任务。