簡體   English   中英

在多個數據中創建新變量

[英]Create new variables in multiple data

我有一個包含30個數據的數據集,並且編寫了一個循環以將所有數據讀取到環境中。 (效果不錯)。

它們都具有相同的6個變量,我想編寫一個循環,以在所有變量中獲取一個新變量。 此變量應包括兩個其他變量的減法。 兩者都是數字。 這就是我的代碼。

list <- c("Data1", "Data2", "Data3", "Data4")

for (i in list){

i[,7] <- i[,5] - i[,2] 

}

Get this:
Error in i[, 5] : incorrect number of dimensions

R無法將i識別為列表中的變量。 但是我不知道為什么,因為在之前的循環中(將所有數據讀取到環境中),它非常完美! 我也嘗試寫i$Variable7 <- i$Variable5 - i$Variable2但也不能用。

我們可以獲取list的數據集,使用lapplylistlapply ,將第7列更新為第5列和第2列的區別

lst <- lapply(mget(list), function(x) {x[,7] <- x[,5] - x[,2]; x})

如果我們真的想更新原始數據集對象,

list2env(lst, envir = .GlobalEnv)

OP的代碼不起作用的原因是因為它遍歷字符串並且沒有獲取數據集對象的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM