[英]how to overcome this “subscript out of bound” error in R?
我有一個名為q1,q2,q3 .... q9,q10的10個數據幀的列表。 所有這些數據幀都具有相同的結構,分為兩列:“字”和“計數”。 現在我要打印前5行的值。 我還想打印for循環的迭代計數。 但是,當我運行以下for循環時,出現錯誤,例如nam [[“ word”]]中的錯誤:下標超出范圍
for(x in 1:10){
for(y in 1:5){
nam<-paste("q",x,sep = "")
print(nam[["word"]][y])
print(nam[["count"]][y])
print(y)
}}
當我更改用於尋址數據幀的代碼時,出現錯誤,因為nam $ word中的錯誤:$運算符對原子向量無效
for(x in 1:10){
for(y in 1:5){
nam<-paste("q",x,sep = "")
print(nam2$word[y])
print(nam2$count[y])
print(y)
}}
請建議我如何避免/克服此錯誤。 任何幫助表示贊賞。 謝謝阿曼
由於nam
在這里只是一個字符,因此您需要使用get
函數首先獲取實際的data.frame:
for(x in 1:10){
for(y in 1:5){
nam<-paste("q",x,sep = "")
print(get(nam)[["word"]][y])
print(get(nam)[["count"]][y])
print(y)
}}
另一種實現您希望看到的結果的方法可以避免for循環:
lapply(1:10, function(i) head(get(paste0("q", i)), 5))
要么:
lapply(mget(paste0("q", 1:10)), head, 5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.