$运算符对于循环中的原子向量无效 dput(数据1) 结构(列表)(x=c)(35.829875,35.64903952,35.87826747,35.83962222,, 35.94296667, 35.94184918, 35.87022926, 35.84118463, 35.84861677, 35.86461772),y=c(128.550225128.4373915128.6094381128.571917, 128.5503917, 128.5629876, 128.6917042, 128.610549, 128.6244008, a=c(116.0591995,59.11426175255.8600501190.7975442,, 196.714572, 412.3129316, 267.8455805, 459.7797184, 131.1416782, (411.7159889438.7649907,54.60376166,339.2778169, 321.3185479, 319.6080094, 476.1722991, 372.3019021, 205.9843768, 184.6394583),class=“data.frame”,row.names=c(NA,-10L)) >列表名 [1] “数据1”“数据2”“数据3”“数据4”“数据5” >检查列表(列表名中的i){ +for(列表名中的j){ +检查
listname[1]$x listname[1]$x:$运算符中的错误对于原子向量无效 我写了一个循环语句来比较多个数据帧的x变量,但结果是一样的。 所以我单独运行了代码。然后我发现发生了这个错误。 如何解决此错误$运算符对于循环中的原子向量无效 dput(数据1) 结构(列表)(x=c)(35.829875,35.64903952,35.87826747,35.83962222,, 35.94296667, 35.94184918, 35.87022926, 35.84118463, 35.84861677, 35.86461772),y=c(128.550225128.4373915128.6094381128.571917, 128.5503917, 128.5629876, 128.6917042, 128.610549, 128.6244008, a=c(116.0591995,59.11426175255.8600501190.7975442,, 196.714572, 412.3129316, 267.8455805, 459.7797184, 131.1416782, (411.7159889438.7649907,54.60376166,339.2778169, 321.3185479, 319.6080094, 476.1722991, 372.3019021, 205.9843768, 184.6394583),class=“data.frame”,row.names=c(NA,-10L)) >列表名 [1] “数据1”“数据2”“数据3”“数据4”“数据5” >检查列表(列表名中的i){ +for(列表名中的j){ +检查,r,loops,R,Loops,listname[1]$x listname[1]$x:$运算符中的错误对于原子向量无效 我写了一个循环语句来比较多个数据帧的x变量,但结果是一样的。 所以我单独运行了代码。然后我发现发生了这个错误。 如何解决此错误 +添加了示例数据。总共有5个数据,例如data1。获取列表中的所有数据,并从每个数据帧中提取“x”列,并使用外部检查所有值是否相同,这将返回真/假值 > dput(data1) structure(list(x = c(35.829875, 35.64903952, 35.8
+添加了示例数据。总共有5个数据,例如data1。获取列表中的所有数据,并从每个数据帧中提取
“x”
列,并使用外部
检查所有
值是否相同,这将返回真/假值
> dput(data1)
structure(list(x = c(35.829875, 35.64903952, 35.87826747, 35.83962222,
35.94296667, 35.94184918, 35.87022926, 35.84118463, 35.84861677,
35.86461772), y = c(128.550225, 128.4373915, 128.6094381, 128.5711917,
128.5503917, 128.5629876, 128.6917042, 128.610549, 128.6244008,
128.595875), a = c(116.0591995, 59.11426175, 255.8600501, 190.7975442,
196.714572, 412.3129316, 267.8455805, 459.7797184, 131.1416782,
380.2493612), b = c(411.7159889, 438.7649907, 54.60376166, 339.2778169,
321.3185479, 319.6080094, 476.1722991, 372.3019021, 205.9843768,
184.6394583)), class = "data.frame", row.names = c(NA, -10L))
> listname
[1] "data1" "data2" "data3" "data4" "data5"
> check_list<-list()
> for (i in listname) {
+ for (j in listname) {
+ check <- table(i["x"] == j["x"])
+ check_list[[paste0(i,"_",j)]] <- check
+ }
+ }
> check_list
$data1_data1
< table of extent 0 >
<代码> > DATA1,<代码> DATA2……请使用<代码> DPUT/COD>共享您的数据。也请阅读如何给出@ Roak Shanh哦,抱歉。我没有考虑过。请使用DPT,不要复制粘贴控制台日志输出。都是代码> DATA1,<代码> DATA2< /代码>…<代码> DATA5f相同维度?(列和行)。您的预期输出是什么样子?@Ronak Shah所有数据都是相同的行和列。我只想确保这些值每个数据中x个变量的值都是相同的,比如TRUE或FLASE
list_df <- mget(paste0("data", 1:5))
all_xs <- lapply(list_df, `[[`, 'x')
compare_fun <- function(x, y) all(x == y)
outer(all_xs, all_xs, Vectorize(compare_fun))